Search completed in 2.11 seconds.
PaymentRequestUpdateEvent.updateWith() - Web APIs
the
updatewith() method of the paymentrequest
updateevent interface
updates the details of an existing paymentrequest.
... syntax paymentrequest
updateevent.
updatewith(details); parameters details a paymentdetails
update object specifying the changes applied to the payment request: displayitems optional an array of paymentitem objects, each describing one line item for the payment request.
...when calling
updatewith(), including error in the
updated data causes the user agent to display the text as a general error message.
...And 3 more matches
PaymentRequestUpdateEvent.PaymentRequestUpdateEvent() - Web APIs
the paymentrequest
updateevent constructor creates a new paymentrequest
updateevent object which enables a web page to
update the details of a paymentrequest in response to a user action.
... actual
updates are made by passing options to the
updatewith() method.
... syntax var paymentrequest
updateevent = new paymentrequest
updateevent() parameters none.
...And 2 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
if the application has a targetapplication entry but it is for an incompatible version then the application will retrieve
updated compatibility information from the add-on's
updateurl.
... for the maxversion it is generally permissible to use a * in place of the minor version of the application you support, for example 2.0.0.* would mean that you support any minor
update to version 2 of the application.
... valid application versions automatic add-on
update checking applications will periodically check for
updates to installed add-ons by retrieving the
updateurl.
...And 41 more matches
nsIUpdate
toolkit/mozapps/
update/nsi
updateservice.idlscriptable an interface that describes an object representing an available
update to the current application - this
update may have several available patches from which one must be selected to download and install, for example we might select a binary difference patch first and attempt to apply that, then if the application process fails fall back to downloading a complete file-replace patch.
... this object also contains information about the
update that the front end and other application services can use to learn more about what is going on.
... 1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsi
updatepatch getpatchat(in unsigned long index); nsidomelement serialize(in nsidomdocument
updates); attributes attribute type description appversion astring the application version of this
update.
...And 40 more matches
nsIApplicationUpdateService
toolkit/mozapps/
update/nsi
updateservice.idlscriptable this interface describes a global application service that handles performing background
update checks.
... it also provides utilities for selecting and downloading
update patches.
... 1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void adddownloadlistener(in nsirequestobserver listener); astring download
update(in nsi
update update, in boolean background); void pausedownload(); void removedownloadlistener(in nsirequestobserver listener); nsi
update select
update([array, size_is(
updatecount)] in nsi
update updates, in unsigned long
updatecount); attributes attribute type description backgroundchecker nsi
updatechecker the
update checker being used for background
update checking.
...And 23 more matches
Setting up an update server
the goal of this document is to provide instructions for installing a locally-served firefox
update.
... obtaining an
update mar
updates are served as mar files.
...after locating the desired version, the mars will be in the
update directory.
...And 21 more matches
Application Update - Archive of obsolete content
this article will hopefully explain how to
update your xulrunner application using the same method that firefox, thunderbird, songbird, and chatzilla use.
... getting started you will need the following utility scripts from http://lxr.mozilla.org/mozilla/sourc...ate-packaging/ (or local source of xulrunner) common.sh make_full_
update.sh you will need mar / mar.exe to build a complete
update patch.
...as far as i can tell enabling the options --enable-
updater and --enable-
update-packaging on your configure will build you mar.
...And 19 more matches
nsIUpdatePrompt
toolkit/mozapps/
update/nsi
updateservice.idlscriptable this interface describes an object that can be used to show various
update-related notifications to the user.
... 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 void checkfor
updates(); void show
updateavailable(in nsi
update update); void show
updatedownloaded(in nsi
update update, [optional] in boolean background); void show
updateerror(in nsi
update update); void show
updatehistory(in nsidomwindow parent); void show
updateinstalled(); methods checkfor
updates() presents a user interface that checks for and displays the available
updates.
... void checkfor
updates(); parameters none.
...And 16 more matches
nsIUpdateChecker
toolkit/mozapps/
update/nsi
updateservice.idlscriptable this interface describes an object that knows how to check for software
updates.
... 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 void checkfor
updates(in nsi
updatechecklistener listener, in boolean force); void stopchecking(in unsigned short duration); constants constant value description current_check 1 constant for the stopchecking() method indicating that only the current
update check should be stopped.
... current_session 2 constant for the stopchecking() method indicating that all
update checks during the current session should be stopped.
...And 10 more matches
AddonUpdateChecker
the addon
updatechecker is used to download and parse
update information for an add-on's
update manifest.
... if all you care about is finding the newest version for an addon then you probably want to use find
updates() instead.
... to import the addon
updatechecker, use: components.utils.import("resource://gre/modules/addon
updatechecker.jsm"); method overview
updateinfo getcompatibility
update(in
updateinfo
updates[], in string version, in boolean ignorecompatibility, in string appversion, in string platformversion)
updateinfo getnewestcompatible
update(in
updateinfo
updates[], in string appversion, in string platformversion) void checkfor
updates(in string id, in string type, in string
updatekey, string url, in
updatechecklistener listener) constants constant description error_timeout the
update check timed out.
...And 8 more matches
nsIUpdateCheckListener
toolkit/mozapps/
update/nsi
updateservice.idlscriptable an interface describing an object that listens to the progress of an
update check operation.
... 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 void oncheckcomplete(in nsixmlhttprequest request, [array, size_is(
updatecount)] in nsi
update updates, in unsigned long
updatecount); void onerror(in nsixmlhttprequest request, in nsi
update update); void onprogress(in nsixmlhttprequest request, in unsigned long position, in unsigned long totalsize); methods oncheckcomplete() called when the
update check is completed.
... void oncheckcomplete( in nsixmlhttprequest request, [array, size_is(
updatecount)] in nsi
update updates, in unsigned long
updatecount ); parameters request the nsixmlhttprequest object handling the
update check.
...And 8 more matches
UpdateListener
an
updatelistener receives messages from an
update check for a single add-on, though it is possible to pass the same
updatelistener to as many calls to find
updates() as you like.
... for each individual
update check, the following methods will be called on the listener: either oncompatibility
updateavailable() or onnocompatibility
updateavailable(), depending on whether compatibility information for the requested application version was seen.
... either on
updateavailable() or onno
updateavailable(), depending on whether a newer version of the addon was found.
...And 7 more matches
nsIUpdateItem
method overview void init(in astring id, in astring version, in astring installlocationkey, in astring minappversion, in astring maxappversion, in astring name, in astring downloadurl, in astring xpihash, in astring iconurl, in astring
updateurl, in astring
updatekey, in long type, in astring targetappid); attributes attribute type description iconurl astring the url of the icon that can be shown for this item.
... objectsource astring returns a js object source representing an nsi
updateitem.
...
updatekey astring the public key to verify
updates for this item.
...And 7 more matches
nsIUpdateManager
toolkit/mozapps/
update/nsi
updateservice.idlscriptable this interface describes a global application service that maintains a list of previously installed
updates, as well as the currently in use
update.
... 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 nsi
update get
updateat(in long index); void save
updates(); attributes attribute type description active
update nsi
update an nsi
update object describing the currently in use
update.
... this
update is not in the history list.
...And 7 more matches
IDBCursor.update() - Web APIs
the
update() method of the idbcursor interface returns an idbrequest object, and, in a separate thread,
updates the value at the current position of the cursor in the object store.
... be aware that you can't call
update() (or idbcursor.delete()) on cursors obtained from idbindex.openkeycursor().
... syntax var anidbrequest = myidbcursor.
update(value); parameters value the new value to be stored at the current position.
...And 7 more matches
nsIUpdatePatch
toolkit/mozapps/
update/nsi
updateservice.idlscriptable an interface that describes an object representing a patch file that can be downloaded and applied to a version of this application so that it can be
updated.
... 1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsidomelement serialize(in nsidomdocument
updates); attributes attribute type description finalurl astring the final url this patch was being downloaded from.
... selected boolean true if this patch is currently selected as the patch to be downloaded and installed for this
update transaction.
...And 4 more matches
HTMLMediaElement: timeupdate event - Web APIs
the time
update event is fired when the time indicated by the currenttime attribute has been
updated.
...user agents are encouraged to vary the frequency of the event based on the system load and the average cost of processing the event each time, so that the ui
updates are not any more frequent than the user agent can comfortably handle while decoding the video.
... bubbles no cancelable no interface event target element default action none event handler property globaleventhandlers.ontime
update specification html5 media examples these examples add an event listener for the htmlmediaelement's time
update event, then post a message when that event handler has reacted to the event firing.
...And 4 more matches
PaymentDetailsUpdate - Web APIs
the paymentdetails
update dictionary is used to provide
updated information to the payment user interface after it has been instantiated.
... this can be done either by calling the paymentrequest
updateevent.
updatewith() method or by using the paymentrequest.show() method's detailspromise parameter to provide a promise that returns a paymentdetails
update that
updates the payment information before the user interface is even enabled for the first time.
... properties the paymentdetails
update dictionary is based on the paymentdetailsbase dictionary, and inherits its properties, which are included in the list below.
...And 4 more matches
UpdateInfo
updateinfo objects hold information about available versions of add-ons and are generated as a result of an
update check performed by addon
updatechecker.
... attributes attribute type description version string the version of the
update.
...
updateurl string the
updateurl that the
update can be downloaded from.
...And 3 more matches
Animation.updatePlaybackRate() - Web APIs
the
updateplaybackrate() method of the web animations api's animation interface sets the speed of an animation after first synchronizing its playback position.
...
updateplaybackrate() is an asynchronous method that sets the speed of an animation after synchronizing with its current playback position, ensuring that the resulting change in speed does not produce a sharp jump.
... after calling
updateplaybackrate() the animation's playbackrate is not immediately
updated.
...And 3 more matches
Debugging update problems
checking
update requests if you're debugging the application
update feature in firefox or other mozilla applications, you may need to see what requests are occurring.
... you can do this using the live http headers addon to determine the url of the
update request.
... that url might look something like: https://aus3.mozilla.org/
update/3/firefox/12.0a1/20120106040225/darwin_x86_64-gcc3-u-i386-x86_64-shark/nightly-profiling/darwin%2010.8.0/default/default/
update.xml?force=1 you can then request this url manually to see what's inside.
...And 2 more matches
FC_DecryptUpdate
name fc_decrypt
update - decrypt a block of a multi-part encryption operation.
... syntax ck_rv fc_decrypt
update( ck_session_handle hsession, ck_byte_ptr pencryptedpart, ck_ulong usencryptedpartlen, ck_byte_ptr ppart, ck_ulong_ptr puspartlen ); parameters hsession [in] session handle.
... description fc_decrypt
update decrypts a block of data according to the attributes of the previous call to fc_decryptinit.
...And 2 more matches
FC_DigestUpdate
name fc_digest
update - process the next block of a multi-part digest operation.
... syntax ck_rv fc_digest
update( ck_session_handle hsession, ck_byte_ptr ppart, ck_ulong uspartlen ); parameters hsession [in] session handle.
... description fc_digest
update starts or continues a multi-part digest operation.
...And 2 more matches
FC_EncryptUpdate
name fc_encrypt
update - encrypt a block of a multi-part encryption operation.
... syntax ck_rv fc_encrypt
update( ck_session_handle hsession, ck_byte_ptr ppart, ck_ulong uspartlen, ck_byte_ptr pencryptedpart, ck_ulong_ptr pusencryptedpartlen ); parameters hsession [in] session handle.
... description fc_encrypt
update encrypts a block of data according to the attributes of the previous call to fc_encryptinit.
...And 2 more matches
FC_SignUpdate
name fc_sign
update - process the next block of a multi-part signing operation.
... syntax ck_rv fc_sign
update( ck_session_handle hsession, ck_byte_ptr ppart, ck_ulong uspartlen ); parameters hsession [in] session handle.
... description fc_sign
update starts or continues a multi-part signature operation.
...And 2 more matches
FC_VerifyUpdate
name fc_verify
update - process the next block of a multi-part verify operation.
... syntax ck_rv fc_verify
update( ck_session_handle hsession, ck_byte_ptr ppart, ck_ulong uspartlen ); parameters hsession [in] session handle.
... description fc_verify
update starts or continues a multi-part signature verification operation where the signature is an appendix to the data.
...And 2 more matches
nsIUpdateTimerManager
toolkit/mozapps/
update/nsi
updatetimermanager.idlscriptable this interface provides a global application service that provides support for long-duration timers (on the order of many days, weeks, or even months).
... these timers are used to schedule
update checks in the future, for example.
... 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 void registertimer(in astring id, in nsitimercallback callback, in unsigned long interval); methods registertimer() presents a user interface that checks for and displays the available
updates.
...And 2 more matches
XRSession.updateRenderState() - Web APIs
the
updaterenderstate() method of the xrsession interface of webxr api schedules changes to be applied to the active render state prior to rendering of the next frame.
... syntax xrsession.
updaterenderstate(newstate) parameters newstate an object conforming to the xrrenderstateinit dictionary specifying the properties of the session's renderstate to
update before rendering the next frame.
... the baselayer specified in newstate was created by an xrsession other than the one on which
updaterenderstate() was called.
...And 2 more matches
UpdateCheckListener
updatechecklisteners are passed the results of
update checks performed by the addon
updatechecker.
... method overview void on
updatecheckcomplete(in
updateinfo results[]) void on
updatecheckerror(in integer status) methods on
updatecheckcomplete() called when the
update check completed successfully.
... void on
updatecheckcomplete( in
updateinfo results[] ) parameters results an array of
updateinfo objects representing the available add-on versions on
updatecheckerror() called when the
update check fails.
... void on
updatecheckerror( in integer status ) parameters status a value representing the type of failure; see the range of possible values.
FC_DecryptDigestUpdate
name fc_decryptdigest
update - continue a multi-part decrypt and digest operation syntax ck_rv fc_decryptdigest
update( ck_session_handle hsession, ck_byte_ptr pencryptedpart, ck_ulong ulencryptedpartlen, ck_byte_ptr ppart, ck_ulong_ptr pulpartlen ); parameters hsession [in] session handle.
... description fc_decryptdigest
update continues a multi-part decrypt and digest operation.
...a user must log into the token (to assume the nss user role) before calling fc_decryptdigest
update.
... return value examples see also nsc_decryptdigest
update ...
FC_DecryptVerifyUpdate
name fc_decryptverify
update - continue a multi-part decrypt and verify operation syntax ck_rv fc_decryptverify
update( ck_session_handle hsession, ck_byte_ptr pencrypteddata, ck_ulong ulencrypteddatalen, ck_byte_ptr pdata, ck_ulong_ptr puldatalen ); parameters hsession [in] session handle.
... description fc_decryptverify
update continues a multi-part decryption and and signature verification operation.
...a user must log into the token (to assume the nss user role) before calling fc_decryptverify
update.
... return value examples see also nsc_decryptverify
update ...
FC_DigestEncryptUpdate
name fc_digestencrypt
update - continue a multi-part digest and encryption operation syntax ck_rv fc_digestencrypt
update( ck_session_handle hsession, ck_byte_ptr ppart, ck_ulong ulpartlen, ck_byte_ptr pencryptedpart, ck_ulong_ptr pulencryptedpartlen ); parameters hsession [in] session handle.
... description fc_digestencrypt
update continues a multi-part digest and encryption operation.
...a user must log into the token (to assume the nss user role) before calling fc_digestencrypt
update.
... return value examples see also nsc_digestencrypt
update ...
FC_SignEncryptUpdate
name fc_signencrypt
update - continue a multi-part signing and encryption operation syntax ck_rv fc_signencrypt
update( ck_session_handle hsession, ck_byte_ptr ppart, ck_ulong ulpartlen, ck_byte_ptr pencryptedpart, ck_ulong_ptr pulencryptedpartlen ); parameters hsession [in] session handle.
... description fc_signencrypt
update continues a multi-part signature and encryption operation.
...a user must log into the token (to assume the nss user role) before calling fc_signencrypt
update.
... return value examples see also nsc_signencrypt
update ...
nsIMsgDBViewCommandUpdater
the nsimsgdbviewcommand
updater interface controls changes that occur as the selection changes.
... last changed in gecko 1.9 (firefox 3) inherits from: nsisupports in thunderbird this is implemented for different windows in several different places: nsmsgdbviewcommand
updater (for the standalone message window) nsmsgdbviewcommand
updater (for the threadpane message window) nsmsgsearchcommand
updater (for search dialogs) method overview void
updatecommandstatus(); void displaymessagechanged(in nsimsgfolder afolder, in astring asubject, in acstring akeywords); void
updatenextmessageafterdelete(); methods
updatecommandstatus() called when the number of selected items changes.
... void
updatecommandstatus(); parameters none.
...
updatenextmessageafterdelete() allows the backend to tell the front end to re-determine which message we should select after a delete or move void
updatenextmessageafterdelete(); parameters none.
PaymentDetailsUpdate.error - Web APIs
the paymentdetails
update dictionary's error property is a human-readable domstring which provides an error message to be displayed if the specified information doesn't offer any valid shipping options.
... syntax errorstring = paymentdetails
update.error; paymentdetails
update.error = errorstring; value a domstring specifying the string to display to the user if the information specified in the paymentdetails
update doesn't provide any valid shipping options.
... the paymentdetails
update object specifies no valid shipping options in its shippingoptions list.
... specifications specification status comment payment request apithe definition of 'paymentdetails
update.error' in that specification.
PaymentRequestUpdateEvent - Web APIs
the paymentrequest
updateevent interface is used for events sent to a paymentrequest instance when changes are made to shipping-related information for a pending paymentrequest.
... constructor paymentrequest
updateevent() secure context creates a new paymentrequest
updateevent object.
... methods in addition to methods inherited from the parent interface, event, paymentrequest
updateevent offers the following methods: paymentrequest
updateevent.
updatewith() secure context if the event handler determines that information included in the payment request needs to be changed, or that new information needs to be added, it calls
updatewith() with the information that needs to be replaced or added.
... specifications specification status comment payment request apithe definition of 'paymentrequest
updateevent' in that specification.
update - CSS: Cascading Style Sheets
the
update css media feature can be used to test how frequently (if at all) the output device is able to modify the appearance of content.
... syntax the
update feature is specified as a single keyword value chosen from the list below.
... none once it has been rendered, the layout can no longer be
updated.
... examples html <p>if this text animates for you, you are using a fast-updating device.</p> css @keyframes jiggle { from { transform: translatey(0); } to { transform: translatey(25px); } } @media (
update: fast) { p { animation: 1s jiggle linear alternate infinite; } } result specifications specification status comment media queries level 4the definition of '
update' in that specification.
commandupdater - Archive of obsolete content
« xul reference home command
updater type: boolean if true, the commandset is used for updating commands.
... typically, this is used to
update menu commands such as undo and cut based on when an event occurs.
... for example, since the cut command is only valid when something is selected, a command
updater might be used when the select event occurs.
JS_updateMallocCounter
syntax void js_
updatemalloccounter(jscontext *cx, size_t nbytes); name type description cx jscontext * pointer to a js context to decrement the malloc counter.
... description js_
updatemalloccounter decrements malloc counter of gc and the zone of the context.
... see also mxr id search for js_
updatemalloccounter changeset 88cfae411a2a js_newruntime js_getgcparameter bug 517665 ...
AnimationEffect.updateTiming() - Web APIs
the
updatetiming() method of the animationeffect interface
updates the specified timing properties for an animation effect.
... syntax animation.
updatetiming(timing); parameters timing an optionaleffecttiming object containing the timing properties to
update.
... specifications specification status comment web animationsthe definition of 'animationeffect.
updatetiming()' in that specification.
Element: compositionupdate event - Web APIs
the composition
update event is fired when a new character is received in the context of a text composition session controlled by a text composition system such as an input method editor.
... bubbles yes cancelable yes interface compositionevent event handler property none examples const inputelement = document.queryselector('input[type="text"]'); inputelement.addeventlistener('composition
update', (event) => { console.log(`generated characters were: ${event.data}`); }); live example html <div class="control"> <label for="name">on macos, click in the textbox below,<br> then type <kbd>option</kbd> + <kbd>`</kbd>, then <kbd>a</kbd>:</label> <input type="text" id="example" name="example"> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="25"></textare...
...nst log = document.queryselector('.event-log-contents'); const clearlog = document.queryselector('.clear-log'); clearlog.addeventlistener('click', () => { log.textcontent = ''; }); function handleevent(event) { log.textcontent = log.textcontent + `${event.type}: ${event.data}\n`; } inputelement.addeventlistener('compositionstart', handleevent); inputelement.addeventlistener('composition
update', handleevent); inputelement.addeventlistener('compositionend', handleevent); result specifications specification status ui events working draft ...
update() - Web APIs
the mediakeysession.
update() method loads messages and licenses to the cdm, and then returns a promise .
... syntax mediakeysession.
update(response).then(function() { ...
... specifications specification status comment encrypted media extensionsthe definition of '
update()' in that specification.
PaymentDetailsUpdate.shippingAddressErrors - Web APIs
the paymentdetails
update dictionary's shippingaddresserrors property, if present, contains an addresserrors object whose contents provide error messages for one or more of the values in the paymentaddress specified as paymentrequest.shippingaddress.
... syntax var addresserrors = paymentdetails
update.shippingaddresserrors; value an addresserrors object, which contains domstrings describing errors in the properties of a paymentaddress.
... specifications specification status comment payment request apithe definition of 'paymentdetails
update.shippingaddresserrors' in that specification.
ServiceWorkerRegistration.onupdatefound - Web APIs
the on
updatefound property of the serviceworkerregistration interface is an eventlistener property called whenever an event of type statechange is fired; it is fired any time the serviceworkerregistration.installing property acquires a new service worker.
... syntax serviceworkerregistration.on
updatefound = function() { ...
... }; specifications specification status comment service workersthe definition of 'serviceworkerregistration.on
updatefound' in that specification.
ServiceWorkerRegistration.update() - Web APIs
the
update() method of the serviceworkerregistration interface attempts to
update the service worker.
... syntax serviceworkerregistration.
update(); parameters none.
... example the following simple example registers a service worker example then adds an event handler to a button so you can explicitly
update the service worker whenever desired: if ('serviceworker' in navigator) { navigator.serviceworker.register('/sw-test/sw.js', {scope: 'sw-test'}).then(function(registration) { // registration worked console.log('registration succeeded.'); button.onclick = function() { registration.
update(); } }).catch(function(error) { // registration failed console.log('registration failed with ' + error); }); }; specifications specification status comment service workersthe definition of 'serviceworkerregistration.
update()' in that...
Window.updateCommands() - Web APIs
summary
updates the state of commands of the current chrome window (ui).
... syntax window.
updatecommands("scommandname") parameters scommandname is a particular string which describes what kind of
update event this is (e.g.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossamsung internet
updatecommands non-standardchrome no support noedge no support nofirefox full support yesie ?
noupdate - Archive of obsolete content
the no
update event is fired after checking for an application cache
update, if the manifest hasn't changed.
... related events checking no
update downloading progress cached
updateready obsolete error ...
updateready - Archive of obsolete content
the
updateready event is fired when the resources listed in the application cache manifest have been newly redownloaded, and the script can use swapcache() to switch to the new cache.
... related events checking no
update downloading progress cached
updateready obsolete error ...
Debug.msUpdateAsyncCallbackRelation - Archive of obsolete content
the debug.ms
updateasynccallbackrelation function
updates the relationship status between a synchronous work item and the associated asynchronous operation.
... syntax debug.ms
updateasynccallbackrelation(relatedasyncoperationid, relationtype) parameters relatedasyncoperationid the id associated with the asynchronous operation.
nsIGeolocationUpdate
method overview void
update(in nsidomgeoposition position); methods
update() notify the geolocation service that a new geolocation has been discovered.
...void
update( in nsidomgeoposition position ); parameters position a nsidomgeoposition object describing the
updated position information.
startSoftwareUpdate - Web APIs
method of installtrigger object syntax boolean startsoftware
update ( string url); parameters the startsoftware
update method has the following parameter: url a uniform resource locator specifying the location of the xpi file containing the software.
... description the startsoftware
update method triggers a software download and install from the specified url.
MSCandidateWindowUpdate - Web APIs
mscandidatewindow
update 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.oncandidatewindow
update = handler; addeventlistener method object.addeventlistener("mscandidatewindow
update", handler, usecapture) parameters pevtobj [in] type: ihtmleventobj pointer to an ihtmleventobj interface for the current event.
Getting documentation updated
it may see periodical improvements or
updates, and may eventually even be cleaned up (and de-archived) for better uxp focus, but for now, it's a historical snapshot for reference, not a living website.
Updates
please follow our monthly irc meeting for the latest
updates.
nsIAccelerometerUpdate
xpcom/system/nsiaccelerometer.idlnot scriptable replaced by nsidevicemotion
update 1.0 66 introduced gecko 2.0 obsolete gecko 6.0 inherits from: nsiaccelerometer last changed in gecko 5.0 (firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) this method is only used in content tabs to receive nsiacceleration data from the chrome process.
Index - Web APIs
81 animation.
updateplaybackrate() api, animation, experimental, interface, method, reference, web animations, playbackrate,
updateplaybackrate, waapi, web animations api the
updateplaybackrate() method of the web animations api's animation interface sets the speed of an animation after first synchronizing its playback position.
... 85 animationeffect.
updatetiming() api, animation, experimental, method, reference, web animations, waapi, web animations api the
updatetiming() method of the animationeffect interface
updates the specified timing properties for an animation effect.
...these events occur when the battery charging state is
updated.
...And 81 more matches
Index - Archive of obsolete content
55 request needs
update, sdk, add-on make simple network requests.
... 189 html to dom code snippets, dom, guide, html, intermediate, needs
update although you can now natively parse html using domparser and xmlhttprequest, this is a new feature that is not yet supported by all browsers in use in the wild.
...this feature is particularly useful for vendors who wish to deploy the plugin even if firefox is not currently installed, or who want to use the automatic extension
update mechanism to
update their plugin to a newer version.
...And 64 more matches
Linear-gradient Generator - CSS: Cascading Style Sheets
| this.isvalidrgbvalue(blue) === false) return; this.r = red | 0; this.g = green | 0; this.b = blue | 0; if (this.isvalidrgbvalue(alpha) === true) this.a = alpha | 0; }; color.prototype.setbyname = function setbyname(name, value) { if (name === 'r' || name === 'g' || name === 'b') { if(this.isvalidrgbvalue(value) === false) return; this[name] = value; this.
updatehsx(); } }; color.prototype.sethsv = function sethsv(hue, saturation, value) { this.hue = hue; this.saturation = saturation; this.value = value; this.hsvtorgb(); }; color.prototype.sethsl = function sethsl(hue, saturation, lightness) { this.hue = hue; this.saturation = saturation; this.lightness = lightness; this.hsltorgb(); }; color.prototype.sethue = function sethue(va...
...lue) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 359) return; this.hue = value; this.
updatergb(); }; color.prototype.setsaturation = function setsaturation(value) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 100) return; this.saturation = value; this.
updatergb(); }; color.prototype.setvalue = function setvalue(value) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 100) return; this.value = value; this.hsvtorgb(); }; color.prototype.setlightness = function setlightness(value) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 100) return; this.lightness = value; this.hsltorgb(); }; color.prototype.se...
... this.alpha = 1; this.rgbtohsv(); }; /*========== conversion methods ==========*/ color.prototype.converttohsl = function converttohsl() { if (this.format === 'hsl') return; this.setformat('hsl'); this.rgbtohsl(); }; color.prototype.converttohsv = function converttohsv() { if (this.format === 'hsv') return; this.setformat('hsv'); this.rgbtohsv(); }; /*==========
update methods ==========*/ color.prototype.
updatergb = function
updatergb() { if (this.format === 'hsv') { this.hsvtorgb(); return; } if (this.format === 'hsl') { this.hsltorgb(); return; } }; color.prototype.
updatehsx = function
updatehsx() { if (this.format === 'hsv') { this.rgbtohsv(); return; } if (this.format === 'hsl') { this.rgbtohsl(); return; } }...
...And 38 more matches
Anatomy of a video game - Game development
these games present two images to the user; they accept their click (or touch); they interpret the input as a success, failure, pause, menu interaction, etc.; finally, they calculate an
updated scene resulting from that input.
...this is more of a turn-based approach that doesn't demand a constant
update every frame, only when the player reacts.
...if you demand per-frame control then you will need to determine how frequently your game will
update and draw.
...And 33 more matches
Color picker tool - CSS: Cascading Style Sheets
| this.isvalidrgbvalue(blue) === false) return; this.r = red | 0; this.g = green | 0; this.b = blue | 0; if (this.isvalidrgbvalue(alpha) === true) this.a = alpha | 0; }; color.prototype.setbyname = function setbyname(name, value) { if (name === 'r' || name === 'g' || name === 'b') { if(this.isvalidrgbvalue(value) === false) return; this[name] = value; this.
updatehsx(); } }; color.prototype.sethsv = function sethsv(hue, saturation, value) { this.hue = hue; this.saturation = saturation; this.value = value; this.hsvtorgb(); }; color.prototype.sethsl = function sethsl(hue, saturation, lightness) { this.hue = hue; this.saturation = saturation; this.lightness = lightness; this.hsltorgb(); }; color.prototype.sethue = function sethue(va...
...lue) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 359) return; this.hue = value; this.
updatergb(); }; color.prototype.setsaturation = function setsaturation(value) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 100) return; this.saturation = value; this.
updatergb(); }; color.prototype.setvalue = function setvalue(value) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 100) return; this.value = value; this.hsvtorgb(); }; color.prototype.setlightness = function setlightness(value) { if (typeof(value) !== 'number' || isnan(value) === true || value < 0 || value > 100) return; this.lightness = value; this.hsltorgb(); }; color.prototype.se...
... this.alpha = 1; this.rgbtohsv(); }; /*========== conversion methods ==========*/ color.prototype.converttohsl = function converttohsl() { if (this.format === 'hsl') return; this.setformat('hsl'); this.rgbtohsl(); }; color.prototype.converttohsv = function converttohsv() { if (this.format === 'hsv') return; this.setformat('hsv'); this.rgbtohsv(); }; /*==========
update methods ==========*/ color.prototype.
updatergb = function
updatergb() { if (this.format === 'hsv') { this.hsvtorgb(); return; } if (this.format === 'hsl') { this.hsltorgb(); return; } }; color.prototype.
updatehsx = function
updatehsx() { if (this.format === 'hsv') { this.rgbtohsv(); return; } if (this.format === 'hsl') { this.rgbtohsl(); return; } }...
...And 32 more matches
Index
91 working with multiple versions of interfaces add-ons, extensions, xpcom in this short note we illustrate how one can
update an xpcom module in order for it to work in both firefox 2 and firefox 3, even if the interfaces have changed in the interim.
... 99 avoiding leaks in javascript xpcom components add-ons, developing mozilla, extensions, mozilla, needs
update, obsolete, xpcom, xpcom:language bindings, xpconnect programmers writing and reviewing javascript code in mozilla should understand how code using xpcom in javascript can leak so that they can avoid leaks.
... 109 setting up the gecko sdk needs
update, tutorial, xpcom this chapter provides basic setup information for the gecko software development kit (sdk) used to build the weblock component in this tutorial.
...And 31 more matches
Componentizing our Svelte app - Learn web development
we'll componentize our app, then add more functionality to allow users to
update existing components.
...you'll notice that when you click on the filter buttons, they are selected and the style
updates appropriately.
... we will just declare the onclick prop assigning a dummy handler to prevent errors, like this: export let onclick = (clicked) => {} and we'll declare the following reactive statement — $: onclick(filter) — to call the onclick handler whenever the filter variable is
updated.
...And 29 more matches
Advanced Svelte: Reactivity, lifecycle, accessibility - Learn web development
update your existing checkalltodos() function to the following: const checkalltodos = (completed) => { todos.foreach(t => t.completed = completed) console.log('todos', todos) } go back to your browser, open your devtools console, and click check all/uncheck all a few times.
... you'll notice that the array is successfully
updated every time you press the button (the todo objects' completed properties are toggled between true and false), but svelte is not aware of that.
... many web frameworks use the virtual dom technique to
update the page.
...And 25 more matches
Working with Svelte stores - Learn web development
remember that we can access top-level variables from the markup, and whenever they are modified the dom will
update accordingly.
...in the callback function we just assign the value we receive to the local variable, which will trigger the
update of the component's dom.
...there we assign a new value to a local variable, and thanks to svelte reactivity all our markup and reactive dependencies are
updated accordingly.
...And 25 more matches
Dynamic behavior in Svelte: working with variables and props - Learn web development
observe how the numbers in the message are
updated appropriately.
...this would allow us to save them to a web service or local storage and later retrieve them for
update.
...
update src/app.svelte as follows: <script> import todos from './components/todos.svelte' let todos = [ { id: 1, name: 'create a svelte starter app', completed: true }, { id: 2, name: 'create your first component', completed: true }, { id: 3, name: 'complete the rest of the tutorial', completed: false } ] </script> <todos todos={todos} /> when the attribute and the variable...
...And 25 more matches
Application cache implementation overview
when the url in the manifest attribute of the html tag is identical to the manifest url the channel's nsiapplicationcache object belongs to and, the channel's loadedfromapplicationcache flag is set, the document is associated with that nsiapplicationcache object and an
update attempt for the manifest is scheduled after the document completely loads.
...updating an existing cache or first download of an offline cache the process of updating or first caching is invoked asynchronously from nscontentsink::processofflinemanifest() using nsofflinecache
updateservice.
... the implementation of offline cache
update is in /uriloader/prefetch.
...And 23 more matches
Box-shadow generator - CSS: Cascading Style Sheets
true : false; this.topic = topic; this.node = node; var pointer = document.createelement('div'); pointer.classname = 'ui-slider-pointer'; node.appendchild(pointer); this.pointer = pointer; setmousetracking(node,
updateslider.bind(this)); sliders[topic] = this; setvalue(topic, this.value); } var setbuttoncomponent = function setbuttoncomponent(node) { var type = node.getattribute('data-type'); var topic = node.getattribute('data-topic'); if (type === "sub") { node.textcontent = '-'; node.addeventlistener("click", function() { decrement(topic); }); } if (type === "add") { node.te...
...= slider.step; setvalue(slider.topic, slider.value) notify.call(slider); } }; var decrement = function decrement(topic) { var slider = sliders[topic]; if (slider === null || slider === undefined) return; if (slider.value - slider.step >= slider.min) { slider.value -= slider.step; setvalue(topic, slider.value) notify.call(slider); } } // this = slider object var
updateslider = function
updateslider(e) { var node = this.node; var pos = e.pagex - node.offsetleft; var width = node.clientwidth; var delta = this.max - this.min; var offset = this.pointer.clientwidth + 4; // border width * 2 if (pos < 0) pos = 0; if (pos > width) pos = width; var value = pos * delta / width | 0; var precision = value % this.step; value = value - precision + this.
...s.g = green | 0; if (blue != undefined) this.b = blue | 0; if (alpha != undefined) this.a = alpha | 0; } /** * hsv/hsb (hue, saturation, value / brightness) * @param hue 0-360 * @param saturation 0-100 * @param value 0-100 */ color.prototype.sethsv = function sethsv(hue, saturation, value) { this.hue = hue; this.saturation = saturation; this.value = value; this.
updatergb(); } color.prototype.
updatergb = function
updatergb() { var sat = this.saturation / 100; var value = this.value / 100; var c = sat * value; var h = this.hue / 60; var x = c * (1 - math.abs(h % 2 - 1)); var m = value - c; var precision = 255; c = (c + m) * precision; x = (x + m) * precision; m = m * precision; if (h >= 0 && h < 1) { this.setrgba(c, x, m); return; } ...
...And 22 more matches
Install Manifests - Archive of obsolete content
it contains metadata identifying the add-on, providing information about who created it, where more information can be found about it, which versions of what applications it is compatible with, how it should be
updated, and so on.
... note: extensions compatible with firefox 3.5 should specify a maxversion of 3.5.*, so that they are automatically compatible with security and stability
updates.
... for firefox/thunderbird 1.0, the format must conform to the rules specified in extension versioning,
update and compatibility.
...And 21 more matches
Background Tasks API - Web APIs
this code draws any pending
updates to the document currently being displayed, runs any javascript code the page needs to run, accepts events from input devices, and dispatches those events to the elements that should receive them.
... in addition, the event loop handles interactions with the operating system,
updates to the browser's own user interface, and so forth.
... because event handling and screen
updates are two of the most obvious ways users notice performance issues, it's important for your code to be a good citizen of the web and help to prevent stalls in the execution of the event loop.
...And 21 more matches
WAI-ARIA basics - Learn web development
previous overview: accessibility next following on from the previous article, sometimes making complex ui controls that involve unsemantic html and dynamic javascript-
updated content can be difficult.
...the paciello group has a fairly up-to-date post that provides data for this — see rough guide: browsers, operating systems and screen reader support
updated.
... dynamic content
updates: screenreaders tend to have difficulty with reporting constantly changing content; with aria we can use aria-live to inform screenreader users when an area of content is
updated, e.g.
...And 19 more matches
React interactivity: Events and state - Learn web development
your <form /> component call should be
updated as follows: <form addtask={addtask} /> finally, you can use this prop inside the handlesubmit() function in your <form /> component!
...
update it as follows: function handlesubmit(e) { e.preventdefault(); props.addtask("say hello!"); } clicking on the "add" button in your browser will prove that the addtask() callback function works, but it'd be nice if we could get the alert to show us what we're typing in our input field!
...now that we're dealing with user input and data
updates, however, we need something more.
...And 19 more matches
IME handling guide
ecomposition
update this is dispatched by textcomposition when an ecompoitionchange will change the composition string.
... this represents a dom composition
update event.
... mranges representing dom event ecompositionstart selected string before starting composition textcomposition nullptr compositionstart ecomposition
update new composition string textcomposition nullptr composition
update ecompositionend commit string textcomposition nullptr compositionend ecompositionchange new composition string widget (or textcomposition) must not be nullptr text ecompositioncommitasis n/a (must be empty) nobody nullptr none ecompositioncommit c...
...And 16 more matches
Updating Commands - Archive of obsolete content
« previousnext » in this section, we will look at how to
update commands.
...the only other thing you need to do is ensure that the enabled status of the paste command, and therefore the button, is
updated at the right time, which is described below.
... command
updaters a command
updater is a feature of the commandset element which allows it to
update commands when certain events happen.
...And 15 more matches
Theme changes in Firefox 2 - Archive of obsolete content
this article covers the changes that need to be made to
update a firefox theme to work properly in firefox 2.
... browser changes requiring theme
updates there are a number of changed and deleted files in the browser that may require you to make changes to your theme.
... the table lists both the changed xul file and the theme's corresponding css file that you might need to
update.
...And 15 more matches
HTML text fundamentals - Learn web development
.a11y-label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } var textarea = document.getelementbyid('code'); var reset = document.getelementbyid('reset'); var solution = document.getelementbyid('solution'); var output = document.queryselector('.output'); var code = textarea.value; var userentry = textarea.value; function
updatecode() { output.innerhtml = textarea.value; } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = htmlsolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution...
...'; } else { textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); var htmlsolution = '<h1>my short story</h1>\n<p>i am a statistician and my name is trish.</p>\n<p>my legs are made of cardboard and i am married to a fish.</p>'; var solutionentry = htmlsolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'); } if (e.keycode === 27) { textarea.blur(); } }; function insertatcaret(text) { var scrollpos = textarea.scrolltop; var caretpos = textarea.selectionstart; var front = (textarea.valu...
...e).substring(0, caretpos); var back = (textarea.value).substring(textarea.selectionend, textarea.value.length); textarea.value = front + text + back; caretpos = caretpos + text.length; textarea.selectionstart = caretpos; textarea.selectionend = caretpos; textarea.focus(); textarea.scrolltop = scrollpos; } //
update the saved usercode every time the user
updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; }
updatecode(); }; why do we need semantics?
...And 14 more matches
AddonManager
auto
updatedefault boolean whether add-ons should auto-
update by default (overrideable per add-on).
... corresponds to the extensions.auto
updatedefault preference.
... state_checking an install that is checking for
updated information.
...And 14 more matches
NSS functions
updated - function has new arguments such as new flag or addition to structure.
...
updated 3.8 with new options.
... 3.9.3 and later pk11_pubencryptraw mxr 3.2 and later pk11_pubunwrapsymkey mxr 3.2 and later pk11_pubunwrapsymkeywithflags mxr 3.6 and later pk11_pubunwrapsymkeywithflagsperm mxr 3.9 and later pk11_pubwrapsymkey mxr 3.2 and later pk11_random
update mxr 3.2 and later pk11_readrawattribute mxr 3.9.2 and later pk11_referencesymkey mxr 3.2 and later pk11_resettoken mxr 3.4 and later pk11_restorecontext mxr 3.2 and later pk11_savecontext mxr 3.2 and later pk11_savecontextalloc ...
...And 14 more matches
ARIA live regions - Accessibility
using javascript, it is possible to dynamically change parts of a page without requiring the entire page to reload — for instance, to
update a list of search results on the fly, or to display a discreet alert or notification which does not require user interaction.
... simple live regions dynamic content which
updates without a page reload is generally either a region or a widget.
... aria-live: the aria-live=politeness_setting is used to set the priority with which screen reader should treat
updates to live regions - the possible settings are: off, polite or assertive.
...And 14 more matches
Border-image generator - CSS: Cascading Style Sheets
elect'; while (node.firstelementchild !== null) { option = node.firstelementchild; option_value = option.getattribute('data-value'); if (option_value === null) option.setattribute('data-value', uval); list.appendchild(node.firstelementchild); uval++; } node.appendchild(select); node.appendchild(list); select.onclick = this.toggle.bind(this); list.onclick = this.
updatevalue.bind(this); document.addeventlistener('click', clickout); this.state = 0; this.time = 0; this.dropmenu = list; this.select = select; this.toggle(false); this.value = {}; this.topic = topic; if (label) select.textcontent = label; else this.setnodevalue(list.children[selected]); dropdowns[topic] = this; }; dropdown.prototype.toggle = function toggle(state) { ...
...{ if (active) active.toggle(false); active = this; } if (this.state === 0) this.dropmenu.setattribute('data-hidden', 'true'); else this.dropmenu.removeattribute('data-hidden'); }; var clickout = function clickout(e) { if (active.state === 0 || e.target === active.dropmenu || e.target === active.select) return; active.toggle(false); }; dropdown.prototype.
updatevalue = function
updatevalue(e) { if (date.now() - this.time < 500) return; if (e.target.classname !== "ui-dropdown-list") { this.setnodevalue(e.target); this.toggle(false); } this.time = date.now(); }; dropdown.prototype.setnodevalue = function setnodevalue(node) { this.value['name'] = node.textcontent; this.value['value'] = node.getattribute('data-value'); this.sele...
...manager.setvalue('slice-fill', prop['fill']); dropdownmanager.setvalue('image-repeat-x', prop['repeat'][0]); dropdownmanager.setvalue('image-repeat-y', prop['repeat'][1]); inputslidermanager.setvalue('preview-width', prop['size'][0]); inputslidermanager.setvalue('preview-height', prop['size'][1]); inputslidermanager.setvalue('preview-area-height', prop['preview_area']); }; var
update = function
update() { scale = math.min(300, (30000 / this.width) | 0); setscale(scale); inputslidermanager.setvalue('scale', scale, false); subject.style.backgroundimage = 'url("' + this.src + '")'; preview.style.borderimagesource = 'url("' + this.src + '")'; guidelines['slice-top'].setmax(this.height); guidelines['slice-right'].setmax(this.width); guidelines['slice-bot...
...And 14 more matches
Index
create a context handle while providing all the parameters required for the operation, then call an “
update” function multiple times to pass subsets of the input to nss.
... 74 nss 3.21 release notes 2016-01-07, this page has been
updated to include additional information about the release.
... 165 nss faq nss, needs
update nss is set of libraries, apis, utilities, and documentation designed to support cross-platform development of security-enabled client and server applications.
...And 13 more matches
Event reference
composition
update a character is added to a passage of text being composed.
... durationchange the duration attribute has been
updated.
... time
update the time indicated by the currenttime attribute has been
updated.
...And 13 more matches
Using the application cache - HTML: Hypertext Markup Language
the browser then checks to see if the cache manifest has been
updated on the server.
... if the cache manifest has been
updated, the browser downloads a new version of the manifest and the resources listed in the manifest.
... if the currently-cached copy of the manifest is up-to-date, the browser sends a no
update event to the applicationcache object, and the
update process is complete.
...And 13 more matches
Microsummary XML grammar reference - Archive of obsolete content
<
update> (optional) specifies how frequently firefox should
update the microsummaries.
...the <
update> element the optional <
update> element specifies how frequently firefox should
update microsummaries generated by the generator.
... the element can be used to specify both an absolute
update interval and a series of conditional intervals based on the content of the page being summarized.
...And 12 more matches
Making decisions in your code — conditionals - Learn web development
for example, we could
update our weather forecast application to show a further set of choices depending on what the temperature is: if (choice === 'sunny') { if (temperature < 86) { para.textcontent = 'it is ' + temperature + ' degrees outside — nice and sunny.
... <label for="theme">select theme: </label> <select id="theme"> <option value="white">white</option> <option value="black">black</option> </select> <h1>this is my website</h1> const select = document.queryselector('select'); const html = document.queryselector('html'); document.body.style.padding = '10px'; function
update(bgcolor, textcolor) { html.style.backgroundcolor = bgcolor; html.style.color = textcolor; } select.onchange = function() { ( select.value === 'black' ) ?
...
update('black','white') :
update('white','black'); } here we've got a <select> element to choose a theme (black or white), plus a simple <h1> to display a website title.
...And 12 more matches
TypeScript support in Svelte - Learn web development
just take into account that the svelte community is constantly improving svelte typescript support, so you should run npm
update regularly to take advantage of the latest changes.
...you'll also have to
update any corresponding import statements (don't include the .ts in your import statements; typescript chose to omit the extensions).
...
update your <script> section to look like this: <script lang='ts'> import filterbutton from './filterbutton.svelte' import todo from './todo.svelte' import moreactions from './moreactions.svelte' import newtodo from './newtodo.svelte' import todosstatus from './todosstatus.svelte' import { alert } from '../stores' import { filter } from '../types/filter.enum' import type { todotype ...
...And 12 more matches
CustomizableUI.jsm
if consumers make a change to the placements in an area, customizableui will
update the actual nodes in each area instance for them.
...this is often when the window has opened, but in the case of add-ons, could fire when the node has just been registered with customizableui after an add-on
update or disable/enable sequence.
...rnode(atoolbar, aexistingchildren); void registermenupanel(apanel); void unregisterarea(aareaid, adestroyplacements); void addwidgettoarea(awidgetid, aareaid, [optional] aposition); void removewidgetfromarea(awidgetid); void movewidgetwithinarea(awidgetid, aposition); void ensurewidgetplacedinwindow(awidgetid, awindow); void beginbatch
update(); void endbatch
update(aforcedirty); widgetgroupwrapper createwidget(awidgetspecification); void destroywidget(awidgetid); widgetgroupwrapper getwidget(awidgetid); array getunusedwidgets(awindow); array getwidgetidsinarea(aareaid); array getwidgetsinarea(aareaid); string getareatype(aareaid); domelement getcustomizet...
...And 12 more matches
Using XPInstall to Install Plugins - Archive of obsolete content
for those familiar with netscape communicator 4.x's smart
update technology, this will be a familiar idea.
... a brief history of netscape installer technologies this section is relevant if you are familiar with netscape communicator 4.x's smart
update installer technology.
...netscape communicator 4.x uses the notion of smart
update to install software, particularly plugins and java applets to be run locally.
...And 11 more matches
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 items from the server to
update sections of a webpage without having to load an entire new page.
... prerequisites: javascript basics (see first steps, building blocks, javascript objects), the basics of client-side apis objective: to learn how to fetch data from the server and use it to
update the contents of a web page.
... the trouble with this model is that whenever you want to
update any part of the page, for example, to display a new set of products or load a new page, you've got to load the entire page again.
...And 11 more matches
nsINavBookmarksService
to use this service, use: var navbookmarksservice = components.classes["@mozilla.org/browser/nav-bookmarks-service;1"] .getservice(components.interfaces.nsinavbookmarksservice); method overview void addobserver(in nsinavbookmarkobserver observer, in boolean ownsweak); void begin
updatebatch(); obsolete since gecko 1.9 void changebookmarkuri(in long long aitemid, in nsiuri anewuri); long long createdynamiccontainer(in long long aparentfolder, in autf8string aname, in astring acontractid, in long aindex); note: renamed from createcontainer in gecko 1.9 obsolete since gecko 13.0 long long createfolder(in long long aparentfolder, in autf8string name, in l...
...ong index); void end
updatebatch(); obsolete since gecko 1.9 void exportbookmarkshtml(in nsifile file); obsolete since gecko 1.9 nsiuri getbookmarkedurifor(in nsiuri auri); void getbookmarkfolderstarray(in nsiuri auri, in print64array aresult); native code only!
... begin
updatebatch() obsolete since gecko 1.9 (firefox 3) causes observers to be notified of a begin
updatebatch when a lot of things are about to change.
...And 11 more matches
Inner-browsing extending the browser navigation paradigm - Archive of obsolete content
the first one looks like a traditional dhtml ticker application and uses hidden iframes and javascript to provide
updates inside the webpage's ticker headlines section.
...in this model, when a request goes to the web server, the current page is
updated rather than replaced.
...some examples: web page with ticker it is common to see web pages with a ticker element, often used to rotate news or stock quotes
updates.
...And 10 more matches
Getting started with HTML - Learn web development
see your changes
update live in the output area.
... .a11y-label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } var textarea = document.getelementbyid('code'); var reset = document.getelementbyid('reset'); var solution = document.getelementbyid('solution'); var output = document.queryselector('.output'); var code = textarea.value; var userentry = textarea.value; function
updatecode() { output.innerhtml = textarea.value; } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = htmlsolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution...
...'; } else { textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); var htmlsolution = '<em>this is my text.</em>'; var solutionentry = htmlsolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'); } if (e.keycode === 27) { textarea.blur(); } }; function insertatcaret(text) { var scrollpos = textarea.scrolltop; var caretpos = textarea.selectionstart; var front = (textarea.value).substring(0, caretpos); var back = (textarea.value).substring(textarea.selectionend, textarea.value.length); ...
...And 10 more matches
Useful string methods - Learn web development
to actually
update the value of the browsertype variable in a real program, you'd have to set the variable value to be the result of the operation; it doesn't just
update the substring value automatically.
...: sans-serif; } h2 { font-size: 16px; } .a11y-label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); let code = textarea.value; let userentry = textarea.value; function
updatecode() { eval(textarea.value); } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = jssolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution'; } else { ...
... textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); const jssolution = 'const list = document.queryselector(\'.output ul\');' + '\nlist.innerhtml = \'\';' + '\nlet greetings = [\'happy birthday!\',' + '\n \'merry christmas my love\',' + '\n \'a happy christmas to all the family\',' + '\n \'you\\\'re all i want for christmas\',' + '\n \'get well soon\'];' + '\n' + '\nfor (let i = 0; i < greetings.length; i++) {' + '\n let input = greetings[i];' + '\n if (greetings[i].indexof(\'christmas\') !== -1) {' + '\n let result = input;' + '\n let listitem = document.createelement(\'li\');' + '\n listitem.textcontent = result;' + '\n list.appendchild(listitem);' + '\n }' + '\n}'; let sol...
...And 10 more matches
Using CSS transitions - CSS: Cascading Style Sheets
it-transition-property: width height background-color font-size left top transform -webkit-transform color; -webkit-transition-duration: 0.5s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transformv color; transition-duration: 0.5s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-duration: 1s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height...
...-webkit-transition-property: width height background-color font-size left top -webkit-transform transform color; -webkit-transition-duration: 1s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transform color; transition-duration: 1s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-duration: 2s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height...
...-webkit-transition-property: width height background-color font-size left top transform -webkit-transform color; -webkit-transition-duration: 2s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transform color; transition-duration: 2s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-duration: 4s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height...
...And 10 more matches
jpm - Archive of obsolete content
supporting
updates for self-hosted add-ons this feature is only supported from jpm 1.0.3 onwards.
... when you make
updates to your add-on to add features or fix bugs, you'll want any previously installed versions of the add-on to
update themselves to the new version.
...the way this works is: you run jpm sign anytime you need to create a new version you host the signed add-on xpi and
update it when you need to you host an "
update manifest", which, among other things, contains a url pointing to the xpi your add-on tells firefox where it can find the
update manifest to do this, include two extra keys in package.json:
updateurl: this url is included in the install manifest of the xpi file that jpm xpi builds.
...And 9 more matches
XForms Input Element - Archive of obsolete content
analogous widgets are <xhtml:input type="text"/> and <xul:textbox/> specific handling of attributes incremental - if "true", the bound instance node will be
updated on each character typed by the user.
... if "false", or the incremental attribute is omitted on this element then the bound instance node will be
updated when the control loses the focus.
... specific handling of attributes incremental - if "true" or this attribute is omitted from this element, then the instance node will be
updated when the user checks or un-checks the checkbox.
...And 9 more matches
Adding a new todo form: Vue events, methods, and models - Learn web development
however, we can't
update our list of items without manually changing our code!
...
update your template as follows: <template> <form> <label for="new-todo-input"> what needs to be done?
...go back to app.vue and add the following import statement just below the previous one, inside your <script> element: import todoform from './components/todoform'; you also need to register the new component in your app component —
update the components property of the component object so that it looks like this: components: { todoitem, todoform } finally for this section, render your todoform component inside your app by adding the <to-do-form /> element inside your app's <template>, like so: <template> <div id="app"> <h1>my to-do list</h1> <to-do-form></to-do-form> <ul> <li v-for="item in todo...
...And 9 more matches
Mozilla Development Strategies
it has not been
updated for usage of mercurial (instead of cvs).
... make sure documentation gets
updated if the bug you're fixing is likely to require an
update to developer documentation once it's fixed, be sure to add the dev-doc-needed keyword to the bug (or ask someone to do it, if you don't have editbugs privileges on bugzilla).
... this puts the bug on the radar of our documentation team to ensure that once the bug is resolved, the documentation will be
updated appropriately.
...And 9 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 domstring uri); boolean mozhasitem(in domstring uri); domstring mozitem(in unsigned long index); void mozremove(in domstring uri); void swapcache(); void
update(); attributes attribute type description mozitems nsidomofflineresourcelist the list of dynamically-managed entries in the offline resource list.
... onchecking nsidomeventlistener an event listener to be called when fetching the application cache manifest and checking for
updates.
... onno
update nsidomeventlistener an event listener to be called when there is no
update to download.
...And 9 more matches
nsIDOMWindowUtils
boolean dispatchdomeventviapresshell(in nsidomnode atarget, in nsidomevent aevent, in boolean atrusted); nsidomelement elementfrompoint(in float ax, in float ay, in boolean aignorerootscrollframe, in boolean aflushlayout); void entermodalstate(); nsidomelement findelementwithviewid(in nsviewid aid); void focus(in nsidomelement aelement); void force
updatenativemenuat(in astring indexstring); void garbagecollect([optional] in nsicyclecollectorlistener alistener); short getcursortype(); astring getdocumentmetadata(in astring aname); nsidomwindow getouterwindowwithid(in unsigned long long aouterwindowid); long getpccountscriptcount(); astring getpccountscriptsummary(in long ascript); ...
...nt, 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 abottomsize, in float aleftsize, in boolean aignorerootscrollframe, in boolean aflushlayout); void process
updates(); 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!
... force
updatenativemenuat() see nsiwidget.force
updatenativemenuat().
...And 9 more matches
Drawing and Event Handling - Plugins
the browser sets up the port for the plug-in before passing the plug-in an
update event in two ways: the browser calls setorigin(npport->portx, npport->porty).
... they pass an
update event or a paint message to the plug-in.
... both methods cause the npp_handleevent method to pass an
update event or a paint message to the plug-in.
...And 9 more matches
Timing element visibility with the Intersection Observer API - Web APIs
function handlevisibilitychange() { if (document.hidden) { if (!previouslyvisibleads) { previouslyvisibleads = visibleads; visibleads = []; previouslyvisibleads.foreach(function(adbox) {
updateadtimer(adbox); adbox.dataset.lastviewstarted = 0; }); } } else { previouslyvisibleads.foreach(function(adbox) { adbox.dataset.lastviewstarted = performance.now(); }); visibleads = previouslyvisibleads; previouslyvisibleads = null; } } since the event itself doesn't state whether the document has switched from visible to invisible or vice-versa, the doc...
...then, for each of the ads that are being suspended, we call our
updateadtimer() function, which handles updating the ad's total visible time counter, then we set their dataset.lastviewstarted property to 0, which indicates that the tab's timer isn't running.
...now the ads are all restarted, and configured to know that they became visible at the current time, so that they will not add up the duration of time the page was tabbed away the next time they're
updated.
...And 9 more matches
widget - Archive of obsolete content
widgets.widget({ id: "mouseover-effect", label: "widget with changing image on mouseover", contenturl: "http://www.yahoo.com/favicon.ico", onmouseover: function() { this.contenturl = "http://www.bing.com/favicon.ico"; }, onmouseout: function() { this.contenturl = "http://www.yahoo.com/favicon.ico"; } }); // a widget that
updates content on a timer.
... widgets.widget({ id: "auto-
update-widget", label: "widget that
updates content on a timer", content: "0", contentscript: 'settimeout(function() {' + ' document.body.innerhtml++;' + '}, 2000)', contentscriptwhen: "ready" }); // a widget created with a specified width, that grows.
...setting it
updates the widget's appearance immediately.
...And 8 more matches
How to Write and Land Nanojit Patches - Archive of obsolete content
[njn: it's possible that the other tm/tr public repo hasn't been
updated from nanojit-central sufficiently recently, in which case the patch won't apply cleanly.
... if it's major you'll need to do a private
update of that other repo in order to test.
... but don't push that
update, as that should only be done by a member of that public repo.] once it passes testing, file the patch to bugzilla (file a bug under the "nanojit" component in the "core" product) and get a review.
...And 8 more matches
commandset - Archive of obsolete content
in addition, this element can hold a command
updater which is used to
update commands when certain events occur.
... a common use of the command
updater is to
update cut, copy, and paste menu items.
... attributes command
updater, events, oncommand
update, targets example <commandset> <command id="cmd_open" oncommand="alert('open!');"/> <command id="cmd_help" oncommand="alert('help!');"/> </commandset> attributes command
updater type: boolean if true, the commandset is used for updating commands.
...And 8 more matches
nsICryptoHash
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 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
updatefromstream(in nsiinputstream astream, in unsigned long alen); constants hash algorithms these constants are used by the init() method to indicate which hashing function to use.
... exceptions thrown ns_error_invalid_arg indicates that an unsupported algorithm type was passed
update() adds an array of data to be hashed to the object.
... void
update( [const, array, size_is(alen)] in octet adata, in unsigned long alen ); parameters adata a buffer to calculate the hash over.
...And 8 more matches
Border-radius generator - CSS: Cascading Style Sheets
this.unity = 0; this.unitr = 0; this.maxw = 100; this.maxh = 100; this.maxr = 100; this.topic = y + '-' + x; var sliderw = inputslidermanager.getnode(this.topic + '-w'); var sliderh = inputslidermanager.getnode(this.topic + '-h'); var sliderr = inputslidermanager.getnode(this.topic); this.setunitx(this.unitx); this.setunity(this.unity); this.setunitr(this.unitr); this.
updatewidth(); this.
updateheight(); this.
updateradius(); if (x === 'left') this.resizex = 1; if (x === 'right') this.resizex = -1; if (y === 'top') this.resizey = 1; if (y === 'bottom') this.resizey = -1; radius.classname = 'radius'; var unit_selector = document.getelementbyid("unit-selection"); var unitw = new unitselector(this.topic + '-w'); var unith = new unitselector(this.t...
...(x === 'right' && y == 'top') handle.classname = 'handle handle-top-right'; if (x === 'right' && y == 'bottom') handle.classname = 'handle handle-bottom-right'; if (x === 'left' && y == 'bottom') handle.classname = 'handle handle-bottom-left'; handle.addeventlistener("mousedown", function(e) { active = true; this.radius.style.display = 'block'; previewmousetracking.subscribe(this.
updatecontainer.bind(this)); }.bind(this)); document.addeventlistener("mouseup", function(e) { this.radius.style.display = 'none'; if (active === true) previewmousetracking.unsubscribe(this.
updatecontainer.bind(this)); }.bind(this)); inputslidermanager.subscribe(this.topic + '-w', this.setwidth.bind(this)); inputslidermanager.subscribe(this.topic + '-h', this.setheight.bind(this));...
...nd(this)); buttonmanager.subscribe(this.topic, function(value) { this.rounded = value; if (value === true) { unitw.container.style.display = 'none'; unith.container.style.display = 'none'; unitr.container.style.display = 'block'; sliderw.style.display = 'none'; sliderh.style.display = 'none'; sliderr.style.display = 'block'; this.setunitr(this.unitr); this.
updateradius(); } if (value === false) { unitw.container.style.display = 'block'; unith.container.style.display = 'block'; unitr.container.style.display = 'none'; sliderw.style.display = 'block'; sliderh.style.display = 'block'; sliderr.style.display = 'none'; this.setunitx(this.unitx); this.setunity(this.unity); this.
updatewidth(); this.
updateheight(); ...
...And 8 more matches
cfx - Archive of obsolete content
updateurl and
updatelink if you choose to host the xpi yourself you should enable the host application to find new versions of your add-on.
... to do this, include a url in the xpi called the
updateurl: the host application will go here to get information about
updates.
... at the
updateurl you host a file in the
update rdf format: among other things, this includes another url called
updatelink which points to the
updated xpi itself.
...And 7 more matches
How to convert an overlay extension to restartless - Archive of obsolete content
as of may 29, 2017, that module does not work with packed extensions; i'm preserving the link in case the author
updates the gist to fix this issue).
...doing anuncompressed internal jar (aka, another zip) acts like a poor-man's solid archive and significantly boosts the overall compression ratio of the xpi, resulting in smaller installers and
updates.
...your restartless add-on won't actually reload some types of files if they are in a jar and the add-on is
updated without a restart.
...And 7 more matches
Index - Archive of obsolete content
67 command
updater xul attributes, xul reference no summary!
... 222 oncommand
update xul attributes, xul reference no summary!
... 988 command
update the command
update event is executed when a command
update occurs on a <commandset>.
...And 7 more matches
Desktop gamepad controls - Game development
to
update the state of the gamepad's currently pressed buttons we will need a function that will do exactly that on every frame: function gamepad
updatehandler() { buttonspressed = []; if(controller.buttons) { for(var b=0; b<controller.buttons.length; b++) { if(controller.buttons[b].pressed) { buttonspressed.push(b); } } } } we first rese...
... next, in the draw() function we do two things — execute the gamepad
updatehandler() function to get the current state of pressed buttons on every frame, and use the gamepadbuttonpressedhandler() function to check the buttons we are interested to see whether they are pressed, and do something if they are: function draw() { ctx.clearrect(0, 0, canvas.width, canvas.height); // ...
... gamepad
updatehandler(); if(gamepadbuttonpressedhandler(0)) { playery -= 5; } else if(gamepadbuttonpressedhandler(1)) { playery += 5; } if(gamepadbuttonpressedhandler(2)) { playerx -= 5; } else if(gamepadbuttonpressedhandler(3)) { playerx += 5; } if(gamepadbuttonpressedhandler(11)) { alert('boom!'); } // ...
...And 7 more matches
How to build custom form controls - Learn web development
we include our control and the <select>; which one is displayed depends on the class of the body element, with the class of the body element being
updated by the script that makes the control function, when it loads successfully to achieve this, we need two things: first, we need to add a regular <select> element before each instance of our custom control.
... // we deactivate the control deactivateselect(select); }); // loose focus if the user hits `esc` select.addeventlistener('keyup', function (event) { // deactive on keyup of `esc` if (event.keycode === 27) { deactivateselect(select); } }); }); at that point, our control will change state according to our design, but its value doesn't get
updated yet.
... live example check out the source code handling the control's value now that our control is working, we have to add code to
update its value according to user input and make it possible to send the value along with form data.
...And 7 more matches
Advanced text formatting - Learn web development
l { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); const output = document.queryselector('.output'); const code = textarea.value; const userentry = textarea.value; function
updatecode() { output.innerhtml = textarea.value; } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = htmlsolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution...
...'; } else { textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); const htmlsolution = '<dl>\n <dt>bacon</dt>\n <dd>the glue that binds the world together.</dd>\n <dt>eggs</dt>\n <dd>the glue that binds the cake together.</dd>\n <dt>coffee</dt>\n <dd>the drink that gets the world running in the morning.</dd>\n <dd>a light brown color.</dd>\n</dl>'; const solutionentry = htmlsolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'); } if (e.keycode === 27) { textarea.blur(); } }; function insert...
...const caretpos = textarea.selectionstart; const front = (textarea.value).substring(0, caretpos); const back = (textarea.value).substring(textarea.selectionend, textarea.value.length); textarea.value = front + text + back; caretpos = caretpos + text.length; textarea.selectionstart = caretpos; textarea.selectionend = caretpos; textarea.focus(); textarea.scrolltop = scrollpos; } //
update the saved usercode every time the user
updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; }
updatecode(); }; quotatio...
...And 7 more matches
Drawing graphics - Learn web development
update your ctx.drawimage() line like so: ctx.drawimage(image, 20, 20, 185, 175, 50, 50, 185, 175); the first parameter is the image reference, as before.
... loops and animations we have so far covered some very basic uses of 2d canvas, but really you won't experience the full power of canvas unless you
update or animate it in some way.
...
update the variables that describe the sequence of triangles, so we can be ready to draw the next one.
...And 7 more matches
IDBObjectStore.put() - Web APIs
the put() method of the idbobjectstore interface
updates a given record in a database, or inserts a new record if the given item does not already exist.
... the put method is an
update or insert method.
... bear in mind that if you have a idbcursor to the record you want to
update, updating it with idbcursor.
update() is preferable to using idbobjectstore.put().
...And 7 more matches
SVG documentation index - SVG: Scalable Vector Graphics
16 svg event attributes advanced, attribute, draft, landing, needs
update, svg event attributes always have their name starting with "on" followed by the name of the event for which they are intended.
... 270 svg tutorial intermediate, needscontent, needshelp, needs
update, svg, svg:tutorial scalable vector graphics, svg, is a w3c xml dialect to mark up graphics.
... 276 getting started beginner, needsbeginner
update, svg, svg:tutorial let us dive straight in with a simple example.
...And 7 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 items, in the bookmarks database in firefox two additional functions, save() to create,
update, and remove bookmark items, and search() to retrieve the bookmark items that match a particular set of criteria.
...ark, save } = require("sdk/places/bookmarks"); // create a new bookmark instance, unsaved let bookmark = bookmark({ title: "mozilla", url: "http://mozilla.org" }); // attempt to save the bookmark instance to the bookmarks database // and store the emitter let emitter = save(bookmark); // listen for events emitter.on("data", function (saved, inputitem) { // 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 (saveditems, inputitems) { // similar to "data" events, ex...
... save(bookmarks).on("data", function (saved, input) { // a data event is called once for each item saved, as well // as implicit items, 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 6 more matches
ui/button/toggle - Archive of obsolete content
this can contain a number or a string, and you can
update it at any time.
...a disabled button will not generate click or change events and its icon will appear disabled: updating state you can
update all the button's properties, except for its id.
...to set state like this, call state() with 2 parameters: the first parameter is a window or tab object or as a shorthand, the string "window" for the currently active window, or the string "tab" for the currently active tab the second parameter is an object containing the state properties you wish to
update.
...And 6 more matches
Building up a basic demo with the PlayCanvas engine - Game development
playcanvas application to begin developing our game we have to create the playcanvas application first (using the given <canvas> element), and then start the
update loop.
... var boxmaterial = new pc.phongmaterial(); boxmaterial.diffuse.set(0, 0.58, 0.86); boxmaterial.
update(); box.model.model.meshinstances[0].material = boxmaterial; by diffusing the light on the object we can give it it's own color —we'll choose a nice familiar blue.
... after the material is created and its color is set, it has to be
updated so our changes are going to be applied.
...And 6 more matches
2D maze game with device orientation - Game development
with every asset loaded you can see more of the preloadbar image: from 0% to 100%,
updated on every frame.
...in particular, take note of the
update() function (executed at every frame), which
updates things such as the ball position.
... ball.game = function(game) {}; ball.game.prototype = { create: function() {}, initlevels: function() {}, showlevel: function(level) {},
updatecounter: function() {}, managepause: function() {}, manageaudio: function() {},
update: function() {}, wallcollision: function() {}, handleorientation: function(e) {}, finishlevel: function() {} }; the create and
update functions are framework-specific, while others will be our own creations: initlevels initializes the level data.
...And 6 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
52 crud glossary, infrastructure crud (create, read,
update, delete) is an acronym for ways one can operate on stored data.
... 296 ota glossary, infrastructure, intro, ota, over the air,
updates over the air (ota) refers to automatic updating of software on connected devices from a central server.
... all device owners receiving a given set of
updates are on the same "channel", and each device often can access several channels (e.g.
...And 6 more matches
Looping code - Learn web development
let's say we wanted to draw 100 random circles on a <canvas> element (press the
update button to run the example again and again to see different random sets): hidden code <!doctype html> <html> <head> <meta charset="utf-8"> <title>random canvas circles</title> <style> html { width: 100%; height: inherit; background: #ddd; } canvas { display: block; } body { margin: 0; } button { ...
... position: absolute; top: 5px; left: 5px; } </style> </head> <body> <button>
update</button> <canvas></canvas> <script> const btn = document.queryselector('button'); const canvas = document.queryselector('canvas'); const ctx = canvas.getcontext('2d'); let width = document.documentelement.clientwidth; let height = document.documentelement.clientheight; canvas.width = width; canvas.height = height; function random(number) { return math.floor(math.random()*number); } function draw() { ctx.clearrect(0,0,width,height); for (let i = 0; i < 100; i++) { ctx.beginpath(); ctx.fillstyle = 'rgba(255,0,0,0.5)'; ctx.arc(random(width), random(height), random(50), 0, 2 * math.pi);...
...sans-serif; } h2 { font-size: 16px; } .a11y-label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); let code = textarea.value; let userentry = textarea.value; function
updatecode() { eval(textarea.value); } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = jssolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution'; } else { ...
...And 6 more matches
Focus management with Vue refs - Learn web development
any
updates are first performed on the in-memory nodes, and then all the changes that need to be made to the actual nodes on the page are synced in a batch.
...
update it like this: <button type="button" class="btn" ref="editbutton" @click="toggletoitemeditform"> edit <span class="visually-hidden">{{label}}</span> </button> to access the value associated with our ref, we use the $refs property provided on our component instance.
...because vue is trying to optimize and batch changes, it won't immediately
update the dom when we set isediting to false.
...And 6 more matches
Handling common accessibility problems - Learn web development
complex functionality one of the main areas problematic for accessibility is complex apps that involve complicated form controls (such as date pickers) and dynamic content that is
updated often and incrementally.
... regularly
updated dynamic content can be a problem because screenreader users might miss it, especially if it
updates unexpectedly.
... if you have a single-page app with a main content panel that is regularly
updated using xmlhttprequest or fetch, a screenreader user might miss those
updates.
...And 6 more matches
Setting up your own test automation environment - Learn web development
let's
update our bstack_google_test.js demo, to show how these features work: first, we'll need to import the node request module, so we can use it to send requests to the rest api.
... add the following line at the very top of your code: const request = require("request"); now we'll
update our capabilities object to include a project name — add the following line before the closing curly brace, remembering to add a comma at the end of the previous line (you can vary the build and project names to organize the tests in different windows in the browserstack automation dashboard): 'project' : 'google test 2' next we need to access the sessionid of the current session, so we know where to send the request (the id is included in the request url, as you'll see later).
... include the following lines just below the block that creates the driver object (let driver ...) : let sessionid; driver.session_.then(function(sessiondata) { sessionid = sessiondata.id_; }); finally,
update the driver.sleep(2000) ...
...And 6 more matches
Eclipse CDT
keeping the index up-to-date as the source changes from day-to-day, you'll want to
update the index to keep the code assistance working well.
...in principle, you can set the index to rebuild automatically by opening the workspace preferences, selecting "c/c++ > indexer", and reenabling "automatically
update the index".
...the alternative is to leave that option disabled and
update the index manually as necessary.
...And 6 more matches
McCoy
mccoy is an application that allows add-on authors to provide secure
updates to their users.
... applications periodically look for and install
updates to their add-ons.
... it's important that the
update information retrieved has not been tampered with since being written by the add-on author.
...And 6 more matches
nsINavHistoryObserver
method overview void onbeforedeleteuri(in nsiuri auri, in acstring aguid); obsolete since gecko 21.0 void onbegin
updatebatch(); void onclearhistory(); void ondeleteuri(in nsiuri auri, in acstring aguid); void ondeletevisits(in nsiuri auri, in prtime avisittime, in acstring aguid); void onend
updatebatch(); void onpagechanged(in nsiuri auri, in unsigned long awhat, in astring avalue); void onpageexpired(in nsiuri auri, in prtime avisittime, in boolean awholeentr...
... onbegin
updatebatch() notifies you that a batch of things are about to change.
... you should avoid doing any heavy-duty processing until onend
updatebatch() is called.
...And 6 more matches
Request.cache - Web APIs
otherwise the resource will be downloaded from the server and the cache will be
updated.
... if there is no match, the browser will make a normal request, and will
update the cache with the downloaded resource.
... no-store — the browser fetches the resource from the remote server without first looking in the cache, and will not
update the cache with the downloaded resource.
...And 6 more matches
Using workers in extensions - Archive of obsolete content
how this differs from previous versions this version of the stock ticker extension moves the xmlhttprequest call that fetches
updated stock information into a worker thread, which then passes that information back to the main body of the extension's code to
update the display in the status bar.
... the worker the worker thread's job in this example is to issue the xmlhttprequest calls that fetch the
updated stock information.
...this provides a way for the main thread to specifically request that the worker
update the stock information at once.
...And 5 more matches
Arrays - Learn web development
otal.tofixed(2); </textarea> <div class="playable-buttons"> <input id="reset" type="button" value="reset"> <input id="solution" type="button" value="show solution"> </div> const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); let code = textarea.value; let userentry = textarea.value; function
updatecode() { eval(textarea.value); } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = jssolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution'; } else { ...
... textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); const jssolution = 'const list = document.queryselector(\'.output ul\');\nconst totalbox = document.queryselector(\'.output p\');\nlet total = 0;\nlist.innerhtml = \'\';\ntotalbox.textcontent = \'\';\n\nlet products = [\'underpants:6.99\',\n \'socks:5.99\',\n \'t-shirt:14.99\',\n \'trousers:31.99\',\n \'shoes:23.99\'];\n\nfor(let i = 0; i < products.length; i++) {\n let subarray = products[i].split(\':\');\n let name = subarray[0];\n let price = number(subarray[1]);\n total += price;\n let itemtext = name + \' — $\' + price;\n\n let listitem = document.createelement(\'li\');\n listitem.textcontent = itemtext;\n list.appendchild(listitem);\n}\n\ntotalbox.textcontent = \'total: $\' + total.t...
...ofixed(2);'; let solutionentry = jssolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'); } if (e.keycode === 27) { textarea.blur(); } }; function insertatcaret(text) { const scrollpos = textarea.scrolltop; const caretpos = textarea.selectionstart; const front = (textarea.value).substring(0, caretpos); const back = (textarea.value).substring(textarea.selectionend, textarea.value.length); textarea.value = front + text + back; caretpos = caretpos + text.length; textarea.selectionstart = caretpos; textarea.selectionen...
...And 5 more matches
Adding features to our bouncing balls demo - Learn web development
the ball draw(),
update(), and collisiondetect() method definitions should be able to stay exactly the same as they were before.
... checkbounds() this method will do the same thing as the first part of ball()'s
update() function — look to see whether the evil circle is going to go off the edge of the screen, and stop it from doing so.
... again, you can mostly just copy the ball.prototype.
update definition, but there are a few changes you should make: get rid of the last two lines — we don't want to automatically
update the evil circle's position on every frame, because we will be moving it in some other way, as you'll see below.
...And 5 more matches
Client-Server Overview - Learn web development
a method that defines the required action (for example, to get a file or to save or
update some data).
...you might for example use a head request to find out the last time a resource was
updated, and then only use the (more "expensive") get request to download the resource if it has changed.
... put:
update an existing resource (or create a new one if it doesn't exist).
...And 5 more matches
React interactivity: Editing, filtering, conditional rendering - Learn web development
it’ll be similar to deletetask() because it'll take an id to find its target object, but it'll also take a newname property containing the name to
update the task to.
...
update the "edit" button in the viewtemplate like so: <button type="button" classname="btn" onclick={() => setediting(true)}> edit <span classname="visually-hidden">{props.name}</span> </button> now we'll add the same onclick handler to the "cancel" button in the editingtemplate, but this time we'll set isediting to false so that it switches us back to the view template.
...
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 items to toggle between templates.
...And 5 more matches
Vue conditional rendering: editing existing todos - Learn web development
to do this, we will take advantage of vue's conditional rendering capabilities — namely v-if and v-else — to allow us to toggle between the existing todo item view, and an edit view where you can
update todo item labels.
...
update your todoitem’s template as shown below.
...in this handler we’ll emit an item-deleted event to our parent component so the list can be
updated.
...And 5 more matches
Utility functions
hash_gethashtypebyoidtag mxr 3.8 and later hash_gettype mxr 3.12 and later hash_hashbuf mxr 3.10 and later hash_resultlen mxr 3.4 and later hash_resultlenbyoidtag mxr 3.10 and later hash_resultlencontext mxr 3.10 and later hash_
update mxr 3.4 and later nss_init mxr 3.2 and later nss_initialize mxr 3.2 and later nss_initreadwrite mxr 3.2 and later nss_initwithmerge mxr 3.12 and later nss_isinitialized mxr 3.9.2 and later nss_nodb_init mxr 3.2 and late...
...r 3.2 and later nss_unregistershutdown mxr 3.11.1 and later nss_versioncheck mxr 3.2 and later nssbase64_decodebuffer mxr 3.4 and later nssbase64decoder_create mxr 3.2 and later nssbase64decoder_destroy mxr 3.2 and later nssbase64decoder_
update mxr 3.2 and later nssbase64_encodeitem mxr 3.4 and later nssbase64encoder_create mxr 3.2 and later nssbase64encoder_destroy mxr 3.2 and later nssbase64encoder_
update mxr 3.2 and later nssrwlock_destroy mxr 3.2 and later nssrwlock_h...
... later sec_asn1decoderclearnotifyproc mxr 3.2 and later sec_asn1decoderfinish mxr 3.2 and later sec_asn1decodersetfilterproc mxr 3.2 and later sec_asn1decodersetnotifyproc mxr 3.2 and later sec_asn1decoderstart mxr 3.2 and later sec_asn1decoder
update mxr 3.2 and later sec_asn1encode mxr 3.2 and later sec_asn1encodeinteger mxr 3.2 and later sec_asn1encodeitem mxr 3.2 and later sec_asn1encoderabort mxr 3.9 and later sec_asn1encoderclearnotifyproc mxr 3.2 and later sec_asn1encoder...
...And 5 more matches
Web Console remoting - Firefox Developer Tools
actor preferences to allow the web console to configure logging options while it is running, we have added the setpreferences packet: { "to": "conn0.console9", "type": "setpreferences", "preferences": { "networkmonitor.saverequestandresponsebodies": false } } reply: { "
updated": [ "networkmonitor.saverequestandresponsebodies" ], "from": "conn0.console10" } for convenience you can use webconsoleclient.setpreferences(prefs, onresponse).
... the variable view needs to
update objects and it does so by binding _self to the debugger.object of the objectactor that is being viewed.
... the networkevent
update packet the web console ui needs to be kept up-to-date when changes happen, when new stuff is added.
...And 5 more matches
MediaDevices.ondevicechange - Web APIs
you can at any time use enumeratedevices() to get the
updated list of available devices.
...there is no information about the change included in the event object; to get the
updated list of devices, you'll have to use enumeratedevices().
... example in this example, we create a function called
updatedevicelist(), which is called once when mediadevices.getusermedia() successfully obtains a stream, and then is called any time the device list changes.
...And 5 more matches
Capabilities, constraints, and settings - Web APIs
you can also change the constraints of an existing mediastreamtrack on the fly, by calling the track's applyconstraints() method, passing into it an object representing the constraints you wish to apply to the track: videotrack.applyconstraints({ width: 1920, height: 1080 }); in this snippet, the video track referenced by videotrack is
updated so that its resolution as closely as possible matches 1920x1080 pixels (1080p high definition).
... function switchcameras(track, camera) { let constraints = track.getconstraints(); constraints.facingmode = camera; track.applyconstraints(constraints); } this function accepts a mediastreamtrack and a string indicating the camera facing mode to use, fetches the current constraints, sets the value of the mediatrackconstraints.facingmode to the specified value, then applies the
updated constraint set.
...this display is
updated by the function getcurrentsettings(), which gets the current settings for the audio and video tracks and inserts the corresponding code into the tracks' settings display boxes by setting their value.
...And 5 more matches
PaymentRequest.show() - Web APIs
if this is provided, show() will not allow the user to interact with the payment interface until the promise is fulfilled, so that data can be
updated prior to the user engaging with the payment process.
... syntax paymentpromise = paymentrequest.show(detailspromise); parameters detailspromise optional an optional promise that you can provide if your architecture requires that the payment request's details need to be
updated between instantiating the payment interface and the user beginning to interact with it.
... the promise should resolve with a paymentdetails
update object containing the
updated information.
...And 5 more matches
context-menu - Archive of obsolete content
this example
updates the item's label based on the number of times it's been clicked: var numclicks = 0; var myitem = require("sdk/context-menu").item({ label: "click me: " + numclicks, contentscript: 'self.on("click", self.postmessage);', onmessage: function () { numclicks++; this.label = "click me: " + numclicks; // setting myitem.label is equivalent.
... } }); sometimes you might want to
update the label based on the context.
...you can set this after creating the item to
update its label later.
...And 4 more matches
package.json - Archive of obsolete content
updatekey same as the
updatekey in an install.rdf file.
... see supporting
updates for self-hosted add-ons.
...
updatelink same as the
updatelink for an
update.rdf file.
...And 4 more matches
Chapter 1: Introduction to Extensions - Archive of obsolete content
the add-ons manager handles the following tasks: safely installs and uninstalls add-ons makes sure add-ons are compatible with the version of firefox you're using manages a whitelist of sites trusted for installing add-ons helps troubleshoot add-ons by disabling them and offering a safe mode confirms and runs
updates provides access to add-ons' settings dialogs provides access to add-ons' support sites development environment amenities initially, there wasn't adequate documentation available, and extension developers were largely left to fend for themselves1; however, now there's a considerable store of knowledge.
... single feature extensions fixme:
update this.
... feature enhancing extensions fixme:
update this.
...And 4 more matches
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
curial.i586 0:1.2.1-1.fc11 check merge tools in [root@b008-02 ~]# vim /etc/mercurial/hgrc.d/mergetools.rc get the source comm-central [root@b008-02 moz]# time hg clone http://hg.mozilla.org/comm-central/ commsrc requesting all changes adding changesets adding manifests adding file changes added 2975 changesets with 16793 changes to 7117 files (+3 heads) updating working directory 5644 files
updated, 0 files merged, 0 files removed, 0 files unresolved real 0m40.771s user 0m9.284s sys 0m1.304s [root@b008-02 commsrc]# python client.py checkout executing command: ['hg', 'pull', '-r', './.', '-r', 'tip'] pulling from http://hg.mozilla.org/comm-central/ searching for changes no changes found executing command: ['hg', '
update', '-r', 'default', '-r', './.'] 0 files
updated, 0 files ...
...merged, 0 files removed, 0 files unresolved
updated to revision c10119db13cad9797b05750bfe18a57261a88922.
...executing command: ['hg', '
update', '-r', 'default', '-r', './mozilla/extensions/inspector'] 0 files
updated, 0 files merged, 0 files removed, 0 files unresolved
updated to revision 51c6d483a4c15a657df18540219bd0201896c6f2.
...And 4 more matches
Monitoring downloads - Archive of obsolete content
the download manager instance is cached into a member variable in the downloadlogger object for reuse later, and its addlistener() method is called to start listening for download status
updates.
... if the download's state indicates that the download is finished, canceled, or failed, we call our logtransfercompleted routine to
update the log to indicate that state change.
... that code looks like this: logtransfercompleted: function(adownload) { var endtime = new date(); // current time is the end time // issue the replace sqlite command to
update the record.
...And 4 more matches
Implementing controls using the Gamepad API - Game development
the first one is fired when the browser detects the connection of a new gamepad while the second one is fired when a gamepad is disconnected (either physically by the user or due to inactivity.) in the demo, the gamepadapi object is used to store everything related to the api: var gamepadapi = { controller: {}, turbo: false, connect: function() {}, disconnect: function() {},
update: function() {}, buttonpressed: function() {}, buttons: [], buttonscache: [], buttonsstatus: [], axesstatus: [] }; the buttons array contains the xbox 360 button layout: buttons: [ 'dpad-up','dpad-down','dpad-left','dpad-right', 'start','back','axis-left','axis-right', 'lb','rb','power','a','b','x','y', ], this can be different for other types of gamepads like the ps3 controller...
... querying the gamepad object beside connect() and disconnect(), there are two more methods in the gamepadapi object:
update() and buttonpressed().
...
update() is executed on every frame inside the game loop, to
update the actual status of the gamepad object regularly:
update: function() { // clear the buttons cache gamepadapi.buttonscache = []; // move the buttons status from the previous frame to the cache for(var k=0; k<gamepadapi.buttonsstatus.length; k++) { gamepadapi.buttonscache[k] = gamepadapi.buttonsstatus[k]; } // clear the buttons status gamepadapi.buttonsstatus = []; // get the gamepad object var c = gamepadapi.controller || {}; // loop through buttons and push the pressed ones to the array var pressed = []; if(c.buttons) { for(var b=0,t=c.buttons.length; b<t; b++) { if(c.buttons[b].pressed) { pressed.push(gamepadapi.buttons[b]); } } } // loop through axes and push thei...
...And 4 more matches
MVC - MDN Web Docs Glossary: Definitions of Web-related terms
if the state of this data changes, then the model will usually notify the view (so the display can change as needed) and sometimes the controller (if different logic is needed to control the
updated view).
... the controller the controller contains logic that
updates the model and/or view in response to input from the users of the app.
...these actions require the model to be
updated, so the input is sent to the controller, which then manipulates the model as appropriate, which then sends
updated data to the view.
...And 4 more matches
Client-side storage - Learn web development
our example will allow you enter a name, after which the page will
update to give you a personalized greeting.
...in this function we remove the name item from web storage using removeitem(), then again run namedisplaycheck() to
update the display.
...ore let request = objectstore.add(newitem); request.onsuccess = function() { // clear the form, ready for adding the next entry titleinput.value = ''; bodyinput.value = ''; }; // report on the success of the transaction completing, when everything is done transaction.oncomplete = function() { console.log('transaction completed: database modification finished.'); //
update the display of data to show the newly added item, by running displaydata() again.
...And 4 more matches
What is JavaScript? - Learn web development
a high-level definition javascript is a scripting or programming language that allows you to implement complex features on web pages — every time a web page does more than just sit there and display static information for you to look at — displaying timely content
updates, interactive maps, animated 2d/3d graphics, scrolling video jukeboxes, etc.
...align: center; border: 2px solid rgba(0,0,200,0.6); background: rgba(0,0,200,0.3); color: rgba(0,0,200,0.6); box-shadow: 1px 1px 2px rgba(0,0,200,0.4); border-radius: 10px; padding: 3px 10px; display: inline-block; cursor: pointer; } and finally, we can add some javascript to implement dynamic behaviour: const para = document.queryselector('p'); para.addeventlistener('click',
updatename); function
updatename() { let name = prompt('enter a new name'); para.textcontent = 'player 1: ' + name; } try clicking on this last version of the text label to see what happens (note also that you can find this demo on github — see the source code, or run it live)!
...we used a click event in our example above to detect when the button is clicked and then run the code that
updates the text label.
...And 4 more matches
Getting started with Svelte - Learn web development
svelte will watch for file
updates, and automatically recompile and refresh the app for you when changes are made to the source files.
... at this point you can try updating your app.svelte component — for example change the <h1> element on line 6 of app.svelte so that it reads like this: <h1>hello {name} from mdn!</h1> just save your changes and the app running at localhost:5000 will be automatically
updated.
... a first look at svelte reactivity in the context of a ui framework, reactivity means that the framework can automatically
update the dom when the state of any component is changed.
...And 4 more matches
Deploying our app - Learn web development
actually deploying the
updated code to a live url: or potentially a staging url so it can be reviewed first.
...this unique filename "busts" your browser's cache, thereby making sure the browser downloads the fresh code each time an
update is made to the deployed code.
...we can commit our code and push to github and the
updated code will automatically trigger the entire build routine.
...And 4 more matches
Creating a spell check dictionary add-on
this page describes how to package a hunspell spell check dictionary as a firefox add-on, or how to
update your existing add-on, so that it can be installed, uninstalled and
updated without a restart.
...if there already is one, try contacting the author to get it
updated, or contact amo editors if the author does not respond.
...if you
update an existing dictionary add-on, you must keep the existing em:id, or your users will not be
updated to the latest version.
...And 4 more matches
Updating NSPR or NSS in mozilla-central
(because some developers might not be aware that nspr/nss are separately maintained and released, the mozilla hg server rejects accidental changes/forking, if the required keywords are missing in the commit comment.) if nspr or nss must be upgraded to a new static tag, follow this procedure: before starting, make sure your local repository is
updated to mozilla-central tip and that there are no local changes: $ hg status -mard pull the new sources $ python client.py
update_nspr nspr_tag_name or $ python client.py
update_nss nss_tag_name if you
update a branch older than mozilla 17 (without the change from bug 782784), you must manually add a dummy change (add or remove a blank line) to force a rebuild of nspr: mozilla/nsprp...
...if merging is required,
update the patch file.
... if a patch is no longer needed, remove the patch from the directory and
update the readme file.
...And 4 more matches
Addon
overview of required methods void iscompatiblewith(in string appversion, in string platformversion) void find
updates(in
updatelistener listener, in integer reason, in string appversion, in string platformversion) overview of optional methods void uninstall() void canceluninstall() boolean hasresource(in string path) nsiuri getresourceuri(in string path) void getdatadirectory(in datadirectorycallback callback) required properties attribute ...
... provides
updatessecurely read only boolean true if the add-on has a secure means of updating or cannot be
updated at all.
... applybackground
updates integer indicates whether
updates found in the background for this add-on will be applied automatically.
...And 4 more matches
Webapps.jsm
/webapps.jsm"); // exported symbol is domapplicationregistry method overview init: function() loadcurrentregistry: function() notifyappsregistrystart: function notifyappsregistrystart() notifyappsregistryready: function notifyappsregistryready() sanitizeredirects: function sanitizeredirects(asource) _savewidgetsfullpath: function(amanifest, adestapp) appkind: function(aapp, amanifest)
updatepermissionsforapp: function(aid, aispreinstalled)
updateofflinecacheforapp: function(aid) installpreinstalledapp: function installpreinstalledapp(aid) removeifhttpsduplicate: function(aid) installsystemapps: function() loadand
updateapps: function()
updatedatastore: function(aid, aorigin, amanifesturl, amanifest) _registersystemmessagesforentrypoint: function(amanifest, aapp, aentrypoint) _...
...registerinterappconnectionsforentrypoint: function(amanifest, aapp,) _registersystemmessages: function(amanifest, aapp) _registerinterappconnections: function(amanifest, aapp) _createactivitiestoregister: function(amanifest, aapp, aentrypoint, arun
update) _registeractivitiesforapps: function(aappstoregister, arun
update) _registeractivities: function(amanifest, aapp, arun
update) _createactivitiestounregister: function(amanifest, aapp, aentrypoint) _unregisteractivitiesforapps: function(aappstounregister) _unregisteractivities: function(amanifest, aapp) _processmanifestforids: function(aids, arun
update) observe: function(asubject, atopic, adata) addmessagelistener: function(amsgnames, aapp, amm) removemessagelistener: function(amsgnames, amm) formatmessage: function(adata) receivemes...
...sage: function(amessage) getappinfo: function getappinfo(aappid) broadcastmessage: function broadcastmessage(amsgname, acontent) register
updatehandler: function(ahandler) unregister
updatehandler: function(ahandler) notify
updatehandlers: function(aapp, amanifest, azippath) _getappdir: function(aid) _writefile: function(apath, adata) dogetlist: function() doexport: function(amsg, amm) doimport: function(amsg, amm) doextractmanifest: function(amsg, 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, ais
update) computemanifesthash: function(amanifest)
update...
...And 4 more matches
nsICRLManager
inherits from: nsisupports last changed in gecko 1.7 method overview wstring computenextauto
updatetime(in nsicrlinfo info, in unsigned long auto
updatetype, in double noofdays); void deletecrl(in unsigned long crlindex); nsiarray getcrls(); void importcrl([array, size_is(length)] in octet data, in unsigned long length, in nsiuri uri, in unsigned long type, in boolean dosilentdownload, in wstring crlkey); void reschedulecrlauto
update(); boolean
updatecrlfromurl(in wstring url, in wstring key); constants constant value description type_auto
update_time_based 1 type_auto
update_freq_based 2 methods computenextauto
updatetime() wstring computenextauto
updatetime( i...
...n nsicrlinfo info, in unsigned long auto
updatetype, in double noofdays ); parameters info auto
updatetype noofdays return value deletecrl() delete the crl.
...void importcrl( [array, size_is(length)] in octet data, in unsigned long length, in nsiuri uri, in unsigned long type, in boolean dosilentdownload, in wstring crlkey ); parameters data length uri type dosilentdownload crlkey reschedulecrlauto
update() this would reschedule the auto
update of crls with auto
update enable.
...And 4 more matches
nsIDOMSimpleGestureEvent
mozmagnifygesture
update - generated periodically while the user is continuing the magnify ("pinch") gesture.
... the "delta" value represents the movement since the last mozmagnifygesturestart or mozmagnifygesture
update event.
...if you only want to receive a single event when the magnify gesture is complete, you only need to hook this event and can safely ignore the mozmagnifygesturestart and the mozmagnifygesture
update events.
...And 4 more matches
nsIDownloadManager
ad adddownload(in short adownloadtype, in nsiuri asource, in nsiuri atarget, in astring adisplayname, in nsimimeinfo amimeinfo, in prtime astarttime, in nsilocalfile atempfile, in nsicancelable acancelable, in boolean aisprivate); void addlistener(in nsidownloadprogresslistener alistener); void canceldownload(in unsigned long aid); void cleanup(); void endbatch
update(); obsolete since gecko 1.9.1 void flush(); obsolete since gecko 1.8 nsidownload getdownload(in unsigned long aid); void onclose(); obsolete since gecko 1.9.1 void open(in nsidomwindow aparent, in nsidownload adownload); obsolete since gecko 1.9.1 void openprogressdialogfor(in nsidownload adownload, in nsidomwindow aparent, in boolean acanceldownloado...
...d); void removedownload(in unsigned long aid); void removedownloadsbytimeframe(in long long abegintime, in long long aendtime); void removelistener(in nsidownloadprogresslistener alistener); void resumedownload(in unsigned long aid); void retrydownload(in unsigned long aid); void savestate(); obsolete since gecko 1.8 void startbatch
update(); obsolete since gecko 1.9.1 attributes attribute type description activedownloadcount long the number of files currently being downloaded.
... endbatch
update() obsolete since gecko 1.9.1 (firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) indicate that a batch
update is ending.
...And 4 more matches
nsIWindowMediator
void
updatewindowtimestamp(in nsixulwindow awindow); native code only!
... void
updatewindowtitle(in nsixulwindow awindow, in wstring intitle ); native code only!
...you may need to
update your code or recompile binary components, if they use this method.
...And 4 more matches
SourceBuffer - Web APIs
sourcebuffer.updating read only a boolean indicating whether the sourcebuffer is currently being
updated — i.e.
... sourcebuffer.on
update fired whenever sourcebuffer.appendbuffer() method or the sourcebuffer.remove() completes.
...this event is fired before on
updateend.
...And 4 more matches
Using the Web Storage API - Web APIs
the landing page provides controls that can be used to customize the color, font, and decorative image: when you choose different options, the page is instantly
updated; in addition, your choices are stored in localstorage, so that when you leave the page and load it again, later on, your choices are remembered.
... we have also provided an event output page — if you load this page in another tab, then make changes to your choices in the landing page, you'll see the
updated storage information outputted as a storageevent is fired.
...if there are already values there, we run setstyles() to
update the page styling with the stored values.
...And 4 more matches
Web applications and ARIA FAQ - Accessibility
along with placing them directly in the markup, aria attributes can be added to the element and
updated dynamically using javascript code like this: // find the progress bar <div> in the dom.
...progressbar.setattribute("role", "progressbar"); progressbar.setattribute("aria-valuemin", 0); progressbar.setattribute("aria-valuemax", 100); // create a function that can be called at any time to
update the value of the progress bar.
... function
updateprogress(percentcomplete) { progressbar.setattribute("aria-valuenow", percentcomplete); } will adding aria change my page styles or behavior?
...And 4 more matches
<input type="color"> - HTML: Hypertext Markup Language
providing a default color you can
update the simple example above to set a default value, so that the color well is pre-filled with the default color and the color picker (if any) will also default to that color: <input type="color" value="#ff0000"> if you don't specify a value, the default is #000000, which is black.
... here's an example that watches changes over time to the color value: colorpicker.addeventlistener("input",
updatefirst, false); colorpicker.addeventlistener("change", watchcolorpicker, false); function watchcolorpicker(event) { document.queryselectorall("p").foreach(function(p) { p.style.color = event.target.value; }); } selecting the value if the <input> element's implementation of the color type on the user's browser doesn't support a color well, but is instead a text field for entering the col...
... var colorwell; var defaultcolor = "#0000ff"; window.addeventlistener("load", startup, false); initialization once the page is loaded, our load event handler, startup(), is called: function startup() { colorwell = document.queryselector("#colorwell"); colorwell.value = defaultcolor; colorwell.addeventlistener("input",
updatefirst, false); colorwell.addeventlistener("change",
updateall, false); colorwell.select(); } this gets a reference to the color <input> element in a variable called colorwell, then sets the color input's value to the value in defaultcolor.
...And 4 more matches
HTTP conditional requests - HTTP
such requests can be useful to validate the content of a cache, and sparing a useless control, to verify the integrity of a document, like when resuming a download, or when preventing to lose
updates when uploading or modifying a document on the server.
... use cases cache
update the most common use case for conditional requests is updating a cache.
... avoiding the lost
update problem with optimistic locking a common operation in web applications is to
update a remote document.
...And 4 more matches
Enhanced Extension Installation - Archive of obsolete content
if the item is not compatible, the extension system asks the appropriate
update service (either the one specified by the item, or the default one) if there is remote compatibility information that supercedes the compatibility information held by the item.
...types are defined in nsi
updateservice.idl on the nsi
updateitem interface.
...if the item is found incompatible, a version
update check is performed as before.
...And 3 more matches
Installing Extensions and Themes From Web Pages - Archive of obsolete content
a note on
updateenabled() installtrigger exposes a function called
updateenabled that some of you may be calling before you call installtrigger.install.
... this is not necessary as install calls
updateenabled itself internally.
... furthermore, calling
updateenabled may lead to problems 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.
...And 3 more matches
Adding preferences to an extension - Archive of obsolete content
get the code here: download the sample
update the manifests the install manifest and chrome manifest need to be
updated.
...its job is to start up the observer to watch for changes to our preferences, instantiate an object to use to manage our preferences, and install an interval routine to
update the stock information periodically.
... if the changed preference is "symbol", we grab the
updated value of the preference by calling the nsiprefbranch.getcharpref() method, and stash it in our tickersymbol variable.
...And 3 more matches
JavaScript Client API - Archive of obsolete content
the store must also make
updates to the underlying data itself based on incoming record objects.
... in this case, it is highly recommended to use the utils.makeguid() helper to generate new guids: let newguid = utils.makeguid(); your store object must implement the following methods: itemexists(id) createrecord(id, collection) changeitemid(oldid, newid) getallids() wipe() create(record)
update(record) remove(record) you may also find it useful to override other methods of the base implementation, for example applyincomingbatch if the underlying storage for your data supports batch operations.
...the sync algorithm will call your store object with a record to be created,
updated, or removed, and it is your store object's responsibility to apply this change to the local application using whatever methods are neccessary.
...And 3 more matches
MenuItems - Archive of obsolete content
you do not need to
update the checked attribute as the menuitem will
update this automatically before the command event is fired.
... note that the checked state is
updated before the command event fires, so if you use the menuitem's checked attribute within the command listener, it will already be in the new state.
... there may be times when you do not want the checkbox state to be
updated automatically when the menuitem is activated.
...And 3 more matches
Gecko Compatibility Handbook - Archive of obsolete content
they are actually replaced by ''-(example removed)-'' the goal of this handbook is to help you
update websites to work with standards-based browsers and properly detect gecko.
...this compatibility test will be most beneficial to sites using simple code or that have
updated to support standards.
...
update browser sniffing to correctly detect gecko browsers.
...And 3 more matches
Mozilla release FAQ - Archive of obsolete content
it was last
updated in 2005.
...as of the time of this
update, mozilla 1.0 release candicate 2 is the most recent release.
...this list will be
updated with time, but (according to netscape.public.mozilla.general) the following platforms have been built successfully: solaris 2.4, 2.5, 2.6 freebsd 2.2, 3.0 linux/intel and alpha 2.0, 2.1 macos winnt 4.0 irix 5.3, 6.2, 6.3, 6.4 win95, win98 digital unix 4.0 netbsd openbsd bsdi hp/ux 9.05, 10.20, 11.0 (see 2.7) hurd .03 dg/ux mac os x i'm *still* having problems gett...
...And 3 more matches
XForms Select1 Element - Archive of obsolete content
xhtml widget characteristics analogous widgets is <html:select/> visual grouping by choices element is supported selection="open" is supported if incremental attribute value is false, the bound node is
updated when the select1 control is blurred (i.e.
... loses focus), otherwise it is
updated upon item selection xul widget characteristics analogous widgets are <html:select/> and <xul:menulist/> visual grouping by choices element isn't implemented selection="open" attribute isn't supported if incremental attribute value is false, the bound node is
updated when the select control is blurred (i.e.
... loses focus), otherwise it is
updated upon item selection listbox the select1 is represented as listbox (xhtml/xul).
...And 3 more matches
Images in HTML - Learn web development
.a11y-label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } var textarea = document.getelementbyid('code'); var reset = document.getelementbyid('reset'); var solution = document.getelementbyid('solution'); var output = document.queryselector('.output'); var code = textarea.value; var userentry = textarea.value; function
updatecode() { output.innerhtml = textarea.value; } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = htmlsolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution...
...'; } else { textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); var htmlsolution = '<img src="https://udn.realityripple.com/samples/ec/5a13bd14f6.jpg"\n alt="the head and torso of a dinosaur skeleton; it has a large head with long sharp teeth"\n width="200"\n height="171"\n title="a t-rex on display in the manchester university museum">'; var solutionentry = htmlsolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'); } if (e.keycode === 27) { textarea.blur(); } }; function insertatcaret(te...
...op; var caretpos = textarea.selectionstart; var front = (textarea.value).substring(0, caretpos); var back = (textarea.value).substring(textarea.selectionend, textarea.value.length); textarea.value = front + text + back; caretpos = caretpos + text.length; textarea.selectionstart = caretpos; textarea.selectionend = caretpos; textarea.focus(); textarea.scrolltop = scrollpos; } //
update the saved usercode every time the user
updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; }
updatecode(); }; annotati...
...And 3 more matches
Object building practice - Learn web development
updating the ball's data we can draw the ball in position, but to actually move the ball, we need an
update function of some kind.
... add the following code at the bottom of your javascript file, to add an
update() method to the ball()'s prototype: ball.prototype.
update = function() { if ((this.x + this.size) >= width) { this.velx = -(this.velx); } if ((this.x - this.size) <= 0) { this.velx = -(this.velx); } if ((this.y + this.size) >= height) { this.vely = -(this.vely); } if ((this.y - this.size) <= 0) { this.vely = -(this.vely); } this.x += this.velx; this.y += this.vely; } the first four parts of the function check whether the ball has reached the edge of the canvas.
... 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 programs 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 programs.
...And 3 more matches
Ember interactivity: Events, classes and state - Learn web development
update the content to the following: import component from '@glimmer/component'; import { action } from '@ember/object'; export 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 decor...
...for example, the @tracked decorator (see slightly later on) runs code it is applied to, but additionally tracks it and automatically
updates the app when values change.
...the only ember-specific part of this class is the @tracked decorator — this hooks in to the reactivity system and allows ember to
update what you're seeing in your app automatically if the tracked properties change.
...And 3 more matches
Using Vue computed properties - Learn web development
add the described <h2> and
update the <ul> inside your app's template as follows: <h2 id="list-summary">{{listsummary}}</h2> <ul aria-labelledby="list-summary" class="stack-large"> <li v-for="item in todoitems" :key="item.id"> <to-do-item :label="item.label" :done="item.done" :id="item.id"></to-do-item> </li> </ul> you should now see the list summary in your app, and the total number of items
update as you add more todo...
... tracking changes to "done" we can use events to capture the checkbox
update and manage our list accordingly.
...
update the <input> element in todoitem.vue to look like this.
...And 3 more matches
Package management basics - Learn web development
in addition, what happens if you find a better tool that you want to use instead of the current one, or a new version of your dependency is released that you want to
update to?
...go there now and you’ll not see anything for now, but what is cool is that when you do make changes to your app, parcel will rebuild it and refresh the server automatically so you can instantly see the effect your
update had.
...you can prove this by looking in our package.json file again — you'll see that the dependencies field have been
updated for us: "dependencies": { "date-fns": "^2.12.0", "parcel-bundler": "^1.12.4" } parcel has also added the files required for someone else to pick up this project and install any dependencies that we’ve used.
...And 3 more matches
Localization content best practices
this would waste everybody's time and create unnecessary frustration: localizers have to translate strings that are destined to change, developers will need to use new ids later to
update them.
... changing existing strings updating entity names if you are changing a string such that its meaning has changed, you must
update the entity or property name for the string to match the new meaning.
... if your changes are relevant only for english — for example, to correct a typographical error or to make letter case consistent — then there is generally no need to
update the entity name.
...And 3 more matches
Localizing with Mercurial
if the utility modified your %path% successfully, a dialog will open saying, "%path% has been
updated correctly." alternatively, you can edit the %path% variable manually.
...for example, to clone your firefox nightly l10n repo, run the following command, replacing ab-cd with your locale code: hg clone https://hg.mozilla.org/l10n-central/ab-cd/ updating your local repos to
update your working copy of mozilla-central, go to your local mozilla-central directory and run: hg pull -u this will both get new changesets from mozilla-central and apply those changes in your working copy.
... to
update your working copy of comm-central, go to your comm-central directory and run: python client.py checkout this will both get new changesets from comm-central, mozilla-central and the other appropriate locations and apply those changes in your working copy.
...And 3 more matches
NSS 3.35 release notes
nss 3.35 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_35_rtm/src/ new in nss 3.35 new functionality tls 1.3 support has been
updated to draft -23.
... cn = chambers of commerce root sha-256 fingerprint: 0c:25:8a:12:a5:67:4a:ef:25:f2:8b:a7:dc:fa:ec:ee:a3:48:e5:41:e6:f5:cc:4e:e6:3b:71:b3:61:60:6a:c3 cn = global chambersign root sha-256 fingerprint: ef:3c:b4:17:fc:8e:bf:6f:97:87:6c:9e:4e:ce:39:de:1e:a5:fe:64:91:41:d1:02:8b:7d:11:c0:b2:29:8c:ed significant changes to tls 1.3 were made, along with the
update from draft -18 to draft -23: support for key
update was added.
... key
update will be used automatically, if a cipher is used for a sufficient number of records.
...And 3 more matches
NSS 3.52 release notes
notable changes in nss 3.52 bug 1603628 -
update nss to support pkcs #11 v3.0.
... bug 1626751 - fix error in generation of fuzz32 docker image after
updates.
... bug 1619056 -
update readme: tls 1.3 is not experimental anymore.
...And 3 more matches
GCIntegration - SpiderMonkey Redirect 1
every time a pointer is
updated, a small amount of code runs that may mark one of the objects involved in the
update.
...any time a property is
updated in the vm or the jit, a write barrier is invoked.
...for example, the following code will be incorrect: autorootedobject obj1 = ...; jsobject *obj2 = obj1; // use obj2 if a gc runs in the middle of this code, and if obj1/obj2 is moved, then the obj1 pointer will be
updated to point to the new location.
...And 3 more matches
Places Developer Guide
// create a bookmark observer var observer = { onbegin
updatebatch: function() { // this method is notified when a batch of changes are about to occur.
... // observers can use this to suspend
updates to the user-interface, for example // while a batch change is occurring.
... }, onend
updatebatch: function() { this._inbatch = false; }, onitemadded: function(id, folder, index) { }, onitemremoved: function(id, folder, index) { }, onitemchanged: function(id, property, isannotationproperty, value) { // isannotationproperty is a boolean value that is true of the changed property is an annotation.
...And 3 more matches
XPCOM changes in Gecko 2.0
this article details those changes, and provides suggestions for how to
update your code.
...documentation will be
updated as time allows to remove references to interfaces being "frozen" or "unfrozen." component registration the way xpcom components are registered changed in gecko 2.
...all existing xpcom components will need to be
updated to support this.
...And 3 more matches
nsINavBookmarkObserver
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 21.0 (firefox 21.0 / thunderbird 21.0 / seamonkey 2.18) method overview void onbeforeitemremoved(in long long aitemid, in unsigned short aitemtype, in long long aparentid, in acstring aguid, in acstring aparentguid); obsolete since gecko 21.0 void onbegin
updatebatch(); void onend
updatebatch(); void onfolderadded(in print64 folder, in print64 parent, in print32 index); obsolete since gecko 1.9 void onfolderchanged(in print64 folder, in acstring property); obsolete since gecko 1.9 void onfoldermoved(in print64 folder, in print64 oldparent, in print32 oldindex, in print64 newparent, in print32 newindex); obsolete since g...
... onbegin
updatebatch() this method notifies this observer that a batch transaction has started.
... other notifications will be sent during the batch change, but the observer is guaranteed that onend
updatebatch() will be called at the completion of changes.
...And 3 more matches
AddressErrors - Web APIs
addresserrors is the type of the object returned by shippingaddresserrors in the paymentdetails
update passed into paymentrequest
updateevent.
updatewith() by the shippingaddresschange event handler if a change to the address resulted in a validation error occurring.
...please check for any errors."; const invalidcountryerror = "at this time, we only ship to the united states, canada, great britain, japan, china, and germany."; let shippingaddress = ev.target.shippingaddress; let shippingaddresserrors = {}; let
updatedetails = {}; if (!validcountries.includes(shippingaddress.country)) { ev.target.shippingoptions = []; shippingaddresserrors.country = invalidcountryerror;
updatedetails = { error: genericaddresserror, shippingaddresserrors, ...defaultpaymentdetails }; } ev.
updatewith(
updatedetails); } see handling address changes for a description of how this code works...
... javascript payment request data first, we declare the variables supportedhandlers, which is compatible with paymentmethoddata, and defaultpaymentdetails, which is a paymentdetails
update object.
...And 3 more matches
Using the Gamepad API - Web APIs
timestamp: this returns a domhighrestimestamp representing the last time the data for this gamepad was
updated, allowing developers to determine if the axes and button data have been
updated from the hardware.
...values are monotonically increasing, meaning that they can be compared to determine the ordering of
updates, as newer values will always be greater than or equal to older values.
...behind the scenes, this object will be
updated every time the gamepad's state changes.
...And 3 more matches
Using IndexedDB - Web APIs
if the database does exist but you are specifying an upgraded version number, an onupgradeneeded event is triggered straight away, allowing you to provide an
updated schema in its handler.
...let's
update the previous example somewhat: var objectstore = db.transaction(["customers"], "readwrite").objectstore("customers"); var request = objectstore.get("444-44-4444"); request.onerror = function(event) { // handle errors!
... }; request.onsuccess = function(event) { // get the old value that we want to
update var data = event.target.result; //
update the value(s) in the object that you want to change data.age = 42; // put this
updated object back into the database.
...And 3 more matches
Online and offline events - Web APIs
this property is
updated whenever the user switches into "offline mode" by selecting the corresponding menu item (file -> work offline in firefox).
... additionally, this property should
update whenever a browser is no longer capable of connecting to the network.
... firefox 2
updates this property when switching to/from the browser's offline mode.
...And 3 more matches
Multi-touch interaction - Web APIs
see the
update_background function for more details about the color changes.
... // save this event for later processing (this could be part of a // multi-touch interaction) and
update the background color push_event(ev); if (logevents) log("pointerdown: name = " + ev.target.id, ev);
update_background(ev); } pointer move the pointermove handler is called when the pointer moves.
... if (logevents) log("pointermove", ev);
update_background(ev); ev.target.style.border = "dashed"; } pointer up the pointerup event is fired when a pointer is raised from the contact surface.
...And 3 more matches
Basic scissoring - Web APIs
although the clear() drawing command writes the clear color (set by clearcolor()) to all pixels in the drawing buffer, scissor() defines a mask that only allows pixels inside the specified rectangular area to be
updated.
...in other cases, the fragments may be discarded altogether (so the pixel value is not
updated), or it may interact with the already existing pixel value (such as when doing color blending for non-opaque elements in the scene).
...before the actual pixels are
updated, fragments must go through the scissor test.
...And 3 more matches
Animating textures in WebGL - Web APIs
getting access to the video the first step is to create the <video> element that we'll use to retrieve the video frames: // will set to true when video can be copied to texture var copyvideo = false; function setupvideo(url) { const video = document.createelement('video'); var playing = false; var time
update = false; video.autoplay = true; video.muted = true; video.loop = true; // waiting for these 2 events ensures // there is data in the video video.addeventlistener('playing', function() { playing = true; checkready(); }, true); video.addeventlistener('time
update', function() { time
update = true; checkready(); }, true); video.src = url; video.play(); ...
... function checkready() { if (playing && time
update) { copyvideo = true; } } return video; } first we create a video element.
...we then set up two events to make sure the video is playing and the time has been
updated.
...And 3 more matches
Using the Web Animations API - Web APIs
if your keyframe list has only one entry, element.animate() may throw a notsupportederror exception in some browsers until they are
updated.
... iterations (by default, animations iterate once), we could pass in the milliseconds alone: document.getelementbyid("alice").animate( [ { transform: 'rotate(0) translate3d(-50%, -50%, 0)', color: '#000' }, { color: '#431236', offset: 0.3}, { transform: 'rotate(360deg) translate3d(-50%, -50%, 0)', color: '#000' } ], 3000); controlling playback with play(), pause(), reverse(), and
updateplaybackrate() while we can write css animations with the web animations api, where the api really comes in handy is manipulating the animation’s playback.
...we use
updateplaybackrate() instead of setting the playbackrate directly since that produces a smooth
update: setinterval( function() { // make sure the playback rate never falls below .4 if (redqueen_alice.playbackrate > .4) { redqueen_alice.
updateplaybackrate(redqueen_alice.playbackrate * .9); } }, 3000); but urging them on by clicking or tapping causes them to speed up by multiplying their pla...
...And 3 more matches
Web audio spatialization basics - Web APIs
css transforms let transform = { xaxis: 0, yaxis: 0, zaxis: 0.8, rotatex: 0, rotatey: 0 } // set our bounds const topbound = -posy; const bottombound = posy; const rightbound = posx; const leftbound = -posx; const innerbound = 0.1; const outerbound = 1.5; let's create a function that takes the direction we want to move as a parameter, and both modifies the css transform and
updates the position and orientation values of our panner node properties to change the sound as appropriate.
...we'll move the boombox along these axis and
update the appropriate position.
...not only do we have to
update two axis values (e.g.
...And 3 more matches
ARIA Test Cases - Accessibility
introduction the information on this page is out of date: it was last
updated november 2010.
...er (leopard) n/a n/a - fail window-eyes - - - - nvda - n/a - - zoom (leopard) pass n/a pass pass zoomtext - - - - orca - - - - progressbar dojo nightly build progress bar in "off" live region progressbar in "assertive" live region expected at behavior: the progress
updates should be treated as the screen reader treats any progress
updates.
... the live region markup should not affect how the progress
updates are presented.
...And 3 more matches
ARIA - Accessibility
for example, aria enables accessible navigation landmarks in html4, javascript widgets, form hints and error messages, live content
updates, and more.
...the aria-valuemin and aria-valuemax attributes specify the minimum and maximum values for the progress bar, and the aria-valuenow describes the current state of it and therefore must be kept
updated with javascript.
... along with placing them directly in the markup, aria attributes can be added to the element and
updated dynamically using javascript code like this: // find the progress bar <div> in the dom.
...And 3 more matches
Creating a cross-browser video player - Developer guides
the span within the <progress> element is for browsers that do not support the progress element and will be
updated at the same time as progress (this span element won't be visible on browsers that support progress).
... another event, time
update, is raised periodically as the video is being played through.
... video.addeventlistener('time
update', function() { progress.value = video.currenttime; progressbar.style.width = math.floor((video.currenttime / video.duration) * 100) + '%'; }); as the time
update event is raised, the progress element's value attribute is set to the video's currenttime.
...And 3 more matches
Mouse gesture events - Developer guides
mozmagnifygesture
update the mozmagnifygesture
update event is sent periodically while processing a magnify gesture, to provide
updated status information.
... the event's delta value represents the amount by which the gesture has moved since the mozmagnifygesturestart or mozmagnifygesture
update event.
...if you only care about the end results of the pinch gesture, you can simply watch for this event; however, if you want to provide feedback during the handling of the gesture, you should also watch the mozmagnifygesturestart and mozmagnifygesture
update events.
...And 3 more matches
<input type="hidden"> - HTML: Hypertext Markup Language
tracking edited content one of the most common uses for hidden inputs is to keep track of what database record needs to be
updated when an edit form is submitted.
... after editing, the user submits the form, and the
updated data is sent back to the server to be
updated in the database.
... the idea here is that during step 2, the id of the record being
updated is kept in a hidden input.
...And 3 more matches
HTTP caching - HTTP
on the other side, some resources may change on the server so the cache should be
updated.
...this is possible on resources that are regularly
updated, or often, but is problematic for resources that are rarely and infrequently
updated.
... they are the resources that would benefit the most from caching resources, yet this makes them very difficult to
update.
...And 3 more matches
HTTP Index - HTTP
rudp — the reliable
update of udp — is a suitable alternative.
... 7 evolution of http guide, http, needs
update, needs
update(http/3) http (hypertext transfer protocol) is the underlying protocol of the world wide web.
...such requests can be useful to validate the content of a cache, and sparing a useless control, to verify the integrity of a document, like when resuming a download, or when preventing to lose
updates when uploading or modifying a document on the server.
...And 3 more matches
Porting the Library Detector - Archive of obsolete content
finally, it listens to gbrowser's tabselect event, to
update the contents of the box for that window.
...rary-detector.js')), onattach: function(worker) { worker.on('message', function(librarylist) { if (!worker.tab.libraries) { worker.tab.libraries = []; } librarylist.foreach(function(library) { if (worker.tab.libraries.indexof(library) == -1) { worker.tab.libraries.push(library); } }); if (worker.tab == tabs.activetab) {
updatewidgetview(worker.tab); } }); } }); the content script is executed once for every window.onload event, so it will run multiple times when a single page containing multiple iframes is loaded.
...es, and use that to build the widget's html content dynamically: function buildwidgetviewcontent(librarylist) { widgetcontent = htmlcontentpreamble; librarylist.foreach(function(library) { widgetcontent += buildiconhtml(icons[library.name], library.name + "<br>version: " + library.version); }); widgetcontent += htmlcontentpostamble; return widgetcontent; } function
updatewidgetview(tab) { var widgetview = widget.getview(tab.window); if (!tab.libraries) { tab.libraries = []; } widgetview.content = buildwidgetviewcontent(tab.libraries); widgetview.width = tab.libraries.length * icon_width; } main.js will use the tabs module to
update the widget's content when necessary (for example, when the user switches between tabs): tabs.on('activate', function(...
...And 2 more matches
ui/button/action - Archive of obsolete content
this can be a number or a string, and you can
update it at any time.
...a disabled button will not generate click events and its icon will appear disabled: updating state you can
update all the button's properties except for its id.
... by default, the button has global state: that is, its properties are the same across all open windows and tabs, and updating them
updates the button's state across all open windows and tabs.
...And 2 more matches
Communication between HTML and your extension - Archive of obsolete content
what i wanted to do was have an extension "look" for something on an html page and if it found that something perform some operation on the found thing and then
update the status bar with the results of the operation.
...the onreadystatechange was set to another little javascript function that would
update a specific element on the html page with the result.
...i wasn't sure about the difference between the capture or bubbling flag that you pass to addeventlistener but every time i would catch the event in the extension, the element from the ajax request wasn't fully
updated into the html page.
...And 2 more matches
Creating a dynamic status bar extension - Archive of obsolete content
or, if you've already got the code from the creating a status bar extension sample, you can follow this tutorial to
update that existing code with new features.
... download the sample
update the install manifest replace all occurrences of the first sample's id, "status-bar-sample-1", with the new sample's id, "stockwatcher", and
update the front end metadata to describe our new extension.
...
update the chrome manifest the chrome manifest needs only a minor
update from the previous sample; simply replace the id of the first sample, "status-bar-sample-1", with the name of the new sample, "stockwatcher".
...And 2 more matches
Enabling the behavior - retrieving tinderbox status - Archive of obsolete content
var gxmlhttprequest; function loadtinderboxstatus() { gxmlhttprequest = new xmlhttprequest(); gxmlhttprequest.onload =
updatetinderboxstatus; gxmlhttprequest.open("get", "http://tinderbox.mozilla.org/seamonkey/panel.html"); gxmlhttprequest.send(null); } xmlhttprequest is an interface in mozilla for retrieving documents via http.
...that document gets
updated by the tinderbox server every time a build finishes.
...we use new to create a new instance of it, set the instance's onload property to
updatetinderboxstatus(), the function we want to execute when the document finishes loading, call its open method with the type of http request we want to make and the url of the document to retrieve, and then call its send method to send the request.
...And 2 more matches
XUL Events - Archive of obsolete content
the event handler should be placed on an observer.checkboxstatechangethe checkboxstatechange event is executed when the state of a <checkbox> element has changed.closethe close event is executed when a request has been made to close the window when the user presses the close button.commandthe command event is executed when an element is activated.command
updatethe command
update event is executed when a command
update occurs on a <commandset>.
... this event would be used to
update the disabled status of its commands.dommenuitemactivethe dommenuitemactive event is executed when a <menu> or a <menuitem> has been hovered or highlighted.dommenuiteminactivethe dommenuiteminactive event is executed when a <menu> or a <menuitem> in no longer hovered or highlighted.popuphiddenthe popuphidden event is executed when a <menupopup>, <panel> or <tooltip> has become hidden.popuphidingthe popuphiding event is executed when a <menupopup>, <panel> or <tooltip> is about to be hidden.popupshowingthe popupshowing event is executed when a <menupopup>, <panel> or <tooltip> is about to become visible.
... attribute: oncommand command
update this event occurs when a command
update occurs on a <commandset> element.
...And 2 more matches
textbox - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to
update additional state.
...the old name is retained for compatibility, but you should
update your code.
...a listener for the command event should
update search results.
...And 2 more matches
Array.observe() - Archive of obsolete content
it's equivalent to object.observe() invoked with the accept type list ["add", "
update", "delete", "splice"].
...one of "add", "
update", "delete", or "splice".
... oldvalue: only for "
update" and "delete" types.
...And 2 more matches
Object.observe() - Archive of obsolete content
one of "add", "
update", or "delete".
... oldvalue: only for "
update" and "delete" types.
...if omitted, the array ["add", "
update", "delete", "reconfigure", "setprototype", "preventextensions"] will be used.
...And 2 more matches
XForms Custom Controls - Archive of obsolete content
we will also show you how to create custom controls that work with the xforms model and are automatically
updated just like xforms controls.
...for example, when the control needs to be
updated according to the rules of xforms, the refresh method will be called by the processor.
...interface nsixformsuiwidget : nsidomelement { /** * is called when control should be
updated to reflect the value of the bound node.
...And 2 more matches
Index - Learn web development
every time a web page does more than just sit there and display static information for you to look at—displaying timely content
updates, interactive maps, animated 2d/3d graphics, scrolling video jukeboxes, or more—you can bet that javascript is probably involved.
... 124 styling tables article, beginner, css, codingscripting, guide, needs
update, styling, tables with styling tables now behind us, we need something else to occupy our time.
... 168 using css generated content basic, beginner, css, css:getting_started, graphics, guide, needs
update, web this article describes some ways in which you can use css to add content when a document is displayed.
...And 2 more matches
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
it then runs the function once per second using setinterval(), creating the effect of a digital clock that
updates once per second (see this live, and also see the source): function displaytime() { let date = new date(); let time = date.tolocaletimestring(); document.getelementbyid('demo').textcontent = time; } const createclock = setinterval(displaytime, 1000); just like settimeout(), setinterval() returns an identifying value you can use later when you need to clear the interval.
...to reset it, you'll want to set the counter back to 0, clear the interval, and then immediately
update the display.
...this is the general pattern you'll see it used in: function draw() { // drawing code goes here requestanimationframe(draw); } draw(); the idea is to define a function in which your animation is
updated (e.g.
...And 2 more matches
Ember Interactivity: Footer functionality, conditional rendering - Learn web development
here we'll get the todo counter to
update to show the correct number of todos still to complete, and correctly apply styling to completed todos (i.e.
...enter the following terminal command to do so: ember generate component-class footer next, go and find the newly-created todomvc/app/components/footer.js file and
update it to the following: import component from '@glimmer/component'; import { inject as service } from '@ember/service'; export default class footercomponent extends component { @service('todo-data') todos; } now we need to go back to our todo-data.js file and add some functionality that will allow us to return the number of incomplete todos (useful for showing how many are left), and cle...
... to fix this, we need to
update this part of the template to include some conditional rendering.
...And 2 more matches
Routing in Ember - Learn web development
to do this you’ll need to enter the following commands into your terminal, inside the root directory of your app: ember generate route index ember generate route completed ember generate route active the second and third commands should have not only generated new files, but also
updated an existing file, app/router.js.
... the index route model first of all,
update todomvc/app/routes/index.js so it looks as follows: import route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default class indexroute extends route { @service('todo-data') todos; model() { let todos = this.todos; return { get alltodos() { return todos.all; } } } } we can now
update the todomvc/app/templates/ind...
... in this file, change <todolist /> to <todolist @todos={{ @model.alltodos }}/> the completed route model now
update todomvc/app/routes/completed.js so it looks as follows: import route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default class completedroute extends route { @service('todo-data') todos; model() { let todos = this.todos; return { get completedtodos() { return todos.completed; } } } } we can now
update the todomvc/app/templates/completed.hbs file so that when it includes the <todolist /> component, it does so ex...
...And 2 more matches
Theme concepts
however, please feel free to
update your themes to use any of the new features described here.
... updating static themes if your static theme is hosted on amo, you can upload a new version using the developer hub with the following steps: visit the product page for your theme through the developer hub select "upload new version" on the left upload your packaged file for validation or modify it using the theme generator for self-hosted static themes, a new version can be
updated through amo by following the above steps or be handled by you through an
updateurl or external application
updates.
...next, you build a json object containing the same information you would use in a static theme’s manifest.json, finally, pass the json object in a theme.
update() call.
...And 2 more matches
Embedding the editor
ensure that focus changes between editors
update the window's notion of the "current" editor.
... if we continue to use window.editorshell, then this needs to be
updated on focus changes.
...in composer, we'd have an implementation in js that talks to the existing commands, and
updates the xul nodes.
...And 2 more matches
DownloadTarget
this is a dynamic property, which is
updated when the download is completed or when the download.refresh() method is called.
... this is a dynamic property, which is
updated when the download finishes or whenever the download.refresh() method is called.
... methods refresh()
updates the state of a finished, failed, or canceled download based on the current state as indicated by the file system.
...And 2 more matches
Localizing with Mozilla Translator
getting started with mozillatranslator mt uses products as groups of localization files with a common root directory (for instance, you may have a product for thunderbird, other for seamonkey, other for dom, other for toolkit, etc.) you
update your repository copy using your favorite repository tool, and then
update the product(s) in mt.
... this will remove obsolete strings and files from the internal database of mt, and will present you with a list of new and
updated strings.
... if you are starting a new localization, all strings will be marked as new or
updated.mt puts a fuzzy flag on each flag and saves it in its database.
...And 2 more matches
SVN for Localizers
when localizing websites, l10n-drivers will always add needed files to your repository or
update your files with new strings in english.
... it's very important for you to
update your working copy with the newest files from mozilla svn repository before you start making changes.
... enter the following command from the command-line: svn
update your local svn repository (i.e., working directory) will be
updated with the newest files from the url you initially cloned your repository from.
...And 2 more matches
Localization formats
how often, if at all, the site will be
updated after the launch?
... is this a long-term project with continuous
updates to content?
... html/php maybe you are designing a project that has relatively small translation needs like three to four lines (or more) of content asking users to
update to the next version of software available.
...And 2 more matches
NSS 3.15 release notes
certutil has been
updated to support creating name constraints extensions.
...secitem_reallocitemv2 better matches caller expectations, in that it
updates item->len on allocation.
...
updated build instructions are available at migration to hg as part of this migration, the source code directory layout has been re-organized.
...And 2 more matches
NSS 3.24 release notes
nss 3.24 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_24_rtm/src/ new in nss 3.24 nss 3.24 includes two nss softoken
updates, a new function to configure ssl/tls server sockets, and two functions to improve the use of temporary arenas.
... new functionality nss softoken has been
updated with the latest national institute of standards and technology (nist) guidance (as of 2015): software integrity checks and post functions are executed on shared library load.
... nss softoken has also been
updated to allow nss to run in fips level 1 (no password).
...And 2 more matches
NSS 3.50 release notes
notable changes in nss 3.50 verified primitives from hacl* were
updated, bringing performance improvements for several platforms.
...
updated dtls 1.3 implementation to draft-30.
... bugs fixed in nss 3.50 bug 1599514 -
update dtls 1.3 implementation to draft-30 bug 1603438 - fix native tools build failure due to lack of zlib include dir if external bug 1599603 - nist sp800-108 kbkdf - pkcs#11 implementation bug 1606992 - cache the most recent pbkdf1 password hash, to speed up repeated sdr operations, important with the increased kdf iteration counts.
...And 2 more matches
Enc Dec MAC Output Public Key as CSR
null, keysize, keyid, pr_false, 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; } /* * mac
update */ secstatus mac
update(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 maxle...
... pr_fprintf(pr_stderr, "compute mac failed : pk11_digestfinal()\n"); } return secsuccess; } /* * compute mac */ secstatus computemac(pk11context *ctxmac, unsigned char *ptext, unsigned int ptextlen, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = macinit(ctxmac); if (rv != secsuccess) return rv; rv = mac
update(ctxmac, ptext, ptextlen); if (rv != secsuccess) return rv; rv = macfinal(ctxmac, mac, maclen, maxlen); return rv; } /* * writetoheaderfile */ secstatus writetoheaderfile(const char *buf, unsigned int len, headertype type, prfiledesc *outfile) { secstatus rv; const char *header; const char *trailer; switch (type) { case symkey: ...
...arams rsaparams; void *params; 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_random
update(randbuf, blocksize); switch (keytype) { case rsakey: rsaparams.keysizeinbits = size; rsaparams.pe = publicexponent; mechanism = ckm_rsa_pkcs_key_pair_gen; algtag = sec_oid_pkcs1_md5_with_rsa_encryption; params = &rsaparams; break; default: ...
...And 2 more matches
FIPS mode of operation
fc_encryptinit fc_encrypt fc_encrypt
update fc_encryptfinal decryption functions these functions support triple des and aes in ecb and cbc modes.
... fc_decryptinit fc_decrypt fc_decrypt
update fc_decryptfinal message digesting functions these functions support sha-1, sha-256, sha-384, and sha-512.
... fc_digestinit fc_digest fc_digest
update fc_digestkey fc_digestfinal signature and mac generation functions these functions support dsa, rsa, ecdsa, and hmac.
...And 2 more matches
Parser API
interface forstatement <: statement { type: "forstatement"; init: variabledeclaration | expression | null; test: expression | null;
update: expression | null; body: statement; } a for statement.
... interface
updateexpression <: expression { type: "
updateexpression"; operator:
updateoperator; argument: expression; prefix: boolean; } an
update (increment or decrement) operator expression.
... enum
updateoperator { "++" | "--" } an
update (increment or decrement) operator token.
...And 2 more matches
Mozilla Projects
mccoy is an application that allows add-on authors to provide secure
updates to their users.
... applications periodically look for and install
updates to their add-ons.
... it's important that the
update information retrieved has not been tampered with since being written by the add-on author.
...And 2 more matches
amIInstallTrigger
duced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean enabled(); boolean install(in nsivariant aargs, [optional] in amiinstallcallback acallback); boolean installchrome(in pruint32 atype, in astring aurl, in astring askin); deprecated since gecko 2.0 boolean startsoftware
update(in astring aurl, [optional] in print32 aflags); deprecated since gecko 2.0 boolean
updateenabled(); deprecated since gecko 2.0 constants retained for backwards compatibility.
... startsoftware
update starts installing a new add-on.
... boolean startsoftware
update( in astring aurl, in print32 aflags optional ); parameters aurl the url of the add-on.
...And 2 more matches
nsICryptoHMAC
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
updatefromstream(in nsiinputstream astream, in unsigned long alen); constants hashing algorithms.
...
update() void
update( [const, array, size_is(alen)] in octet adata, in unsigned long alen ); parameters adata a buffer to calculate the hash over.
...
updatefromstream() calculates and
updates a new hash based on a given data stream.
...And 2 more matches
nsIMicrosummaryGenerator
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview long calculate
updateinterval(in nsidomnode apagecontent); boolean equals(in nsimicrosummarygenerator aother); astring generatemicrosummary(in nsidomnode apagecontent); attributes attribute type description loaded boolean has the generator itself (which may be a remote resource) been loaded.
...it tells us where the generator comes from and where to go for
updates.
... methods calculate
updateinterval() calculates the interval until the microsummary should be
updated for the next time, depending on the page content.
...And 2 more matches
nsIMicrosummaryObserver
supports last changed in gecko 1.9 (firefox 3) warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void oncontentloaded(in nsimicrosummary microsummary); void onelementappended(in nsimicrosummary microsummary); void onerror(in nsimicrosummary microsummary); methods oncontentloaded() called when an observed microsummary
updates its content.
... since an observer might watch multiple microsummaries at the same time, the microsummary whose content has been
updated gets passed to this handler.
... void oncontentloaded( in nsimicrosummary microsummary ); parameters microsummary the microsummary whose content has just been
updated.
...And 2 more matches
nsIMsgDBView
rtordervalue sortorder, in nsmsgviewflagstypevalue viewflags, out long count); void openwithhdrs(in nsisimpleenumerator aheaders, in nsmsgviewsorttypevalue asorttype, in nsmsgviewsortordervalue asortorder, in nsmsgviewflagstypevalue aviewflags, out long acount); void close(); void init(in nsimessenger amessengerinstance, in nsimsgwindow amsgwindow, in nsimsgdbviewcommand
updater acommand
updater); void sort(in nsmsgviewsorttypevalue sorttype, in nsmsgviewsortordervalue sortorder); void docommand(in nsmsgviewcommandtypevalue command); void docommandwithfolder(in nsmsgviewcommandtypevalue command, in nsimsgfolder destfolder); void getcommandstatus(in nsmsgviewcommandtypevalue command, out boolean selectable_p, out nsmsgviewcommandcheckst...
... nsmsgnavigationtypevalue motion); nsmsgkey getkeyat(in nsmsgviewindex index); nsimsgdbhdr getmsghdrat(in nsmsgviewindex index); nsimsgfolder getfolderforviewindex(in nsmsgviewindex index); acstring geturiforviewindex(in nsmsgviewindex index); nsimsgdbview clonedbview(in nsimessenger amessengerinstance, in nsimsgwindow amsgwindow, in nsimsgdbviewcommand
updater acommand
updater); void geturisforselection([array, size_is(count)] out string uris, out unsigned long count); void getindicesforselection([array, size_is(count)] out nsmsgviewindex indices, out unsigned long count); void loadmessagebymsgkey(in nsmsgkey amsgkey); void loadmessagebyviewindex(in nsmsgviewindex aindex); void loadmessagebyurl(in string aur...
... void init(in nsimessenger amessengerinstance, in nsimsgwindow amsgwindow, in nsimsgdbviewcommand
updater acommand
updater); parameters amessengerinstance amsgwindow acommand
updater sort() sorts the currently loaded messages.
...And 2 more matches
nsIMsgFolder
inherits from: nsisupports method overview void startfolderloading(); void endfolderloading(); void
updatefolder(in nsimsgwindow awindow); nsimsgfilterlist getfilterlist(in nsimsgwindow msgwindow); void setfilterlist(in nsimsgfilterlist filterlist); void forcedbclosed(); void delete(); void deletesubfolders(in nsisupportsarray folders, in nsimsgwindow msgwindow); void propagatedelete(in nsimsgfolder folder, in boolean deletestorage,in nsimsgwindow msgwindow); ...
...dow amsgwindow,in nsisupportsarray aofflinefolderarray); void emptytrash(in nsimsgwindow amsgwindow, in nsiurllistener alistener); void rename(in astring name, in nsimsgwindow msgwindow); void renamesubfolders( in nsimsgwindow msgwindow, in nsimsgfolder oldfolder); astring generateuniquesubfoldername(in astring prefix,in nsimsgfolder otherfolder); void
updatesummarytotals(in boolean force); void summarychanged(); long getnumunread(in boolean deep); long gettotalmessages(in boolean deep); void clearnewmessages(); void clearrequirescleanup(); void setflag(in unsigned long flag); void clearflag(in unsigned long flag); boolean getflag(in unsigned long flag); void toggleflag(i...
... methods startfolderloading() void startfolderloading(); endfolderloading() void endfolderloading();
updatefolder() get new headers for the database.
...And 2 more matches
nsITreeBoxObject
void getcellat(in long x, in long y, out long row, out nsitreecolumn col, out acstring childelt); void getcoordsforcellitem(in long row, in nsitreecolumn col, in acstring element, out long x, out long y, out long width, out long height); boolean iscellcropped(in long row, in nsitreecolumn col); void rowcountchanged(in long index, in long count); void begin
updatebatch(); void end
updatebatch(); void clearstyleandimagecaches(); attributes attribute type description columns nsitreecolumns readonly: obtain the columns.
...inform the tree about this change by calling rowcountchanged(rowindex+1, -1); begin
updatebatch() notify the tree that the view is about to perform a batch
update, that is, add, remove or invalidate several rows at once.
... this must be followed by calling end
updatebatch(), otherwise the tree will get out of sync.
...And 2 more matches
XPCOM Interface Reference
tmozistorageprogresshandlermozistorageresultsetmozistoragerowmozistorageservicemozistoragestatementmozistoragestatementcallbackmozistoragestatementparamsmozistoragestatementrowmozistoragestatementwrappermozistoragevacuumparticipantmozistoragevaluearraymozitxttohtmlconvmozithirdpartyutilmozivisitinfomozivisitinfocallbackmozivisitstatuscallbacknsiabcardnsiaboutmodulensiabstractworkernsiaccelerometer
updatensiaccessnodensiaccessibilityservicensiaccessiblensiaccessiblecaretmoveeventnsiaccessiblecoordinatetypensiaccessibledocumentnsiaccessibleeditabletextnsiaccessibleeventnsiaccessiblehyperlinknsiaccessiblehypertextnsiaccessibleimagensiaccessibleprovidernsiaccessiblerelationnsiaccessibleretrievalnsiaccessiblerolensiaccessiblescrolltypensiaccessibleselectablensiaccessiblestatechangeeventnsiaccessiblest...
...accessibletablechangeeventnsiaccessibletextnsiaccessibletextchangeeventnsiaccessibletreecachensiaccessiblevaluensiaccessiblewin32objectnsialertsservicensiannotationobservernsiannotationservicensiappshellnsiappshellservicensiappstartupnsiappstartup_mozilla_2_0nsiapplicationcachensiapplicationcachechannelnsiapplicationcachecontainernsiapplicationcachenamespacensiapplicationcacheservicensiapplication
updateservicensiarraynsiasyncinputstreamnsiasyncoutputstreamnsiasyncstreamcopiernsiasyncverifyredirectcallbacknsiauthinformationnsiauthmodulensiauthpromptnsiauthprompt2nsiauthpromptadapterfactorynsiauthpromptcallbacknsiauthpromptprovidernsiauthpromptwrappernsiautocompletecontrollernsiautocompleteinputnsiautocompleteitemnsiautocompletelistenernsiautocompleteobservernsiautocompleteresultnsiautocompletesea...
...nsifeedresultnsifeedresultlistenernsifeedtextconstructnsifilensifileinputstreamnsifileoutputstreamnsifilepickernsifileprotocolhandlernsifilespecnsifilestreamsnsifileurlnsifileutilitiesnsifileviewnsifocusmanagernsiformhistory2nsiframeloadernsiframeloaderownernsiframemessagelistenernsiframemessagemanagernsiframescriptloadernsigsettingscollectionnsigsettingsservicensigeolocationprovidernsigeolocation
updatensiglobalhistorynsiglobalhistory2nsiglobalhistory3nsihtmleditornsihttpheaderlistenernsihapticfeedbacknsihttpactivitydistributornsihttpactivityobservernsihttpchannelnsihttpchannelinternalnsihttpheadervisitornsihttpservernsihttpupgradelistenernsiidnservicensiiframeboxobjectnsiiniparsernsiiniparserfactorynsiiniparserwriternsiioservicensiidleservicensiinprocesscontentframemessagemanagernsiinputstreamn...
...And 2 more matches
Index
the thunderbird team can
update this content via the website at any time.
...in addition mozilla
update allows users to comment and provide feedback on your extension.
... 96 access window area needs
update, missing, thunderbird this page has no content.
...And 2 more matches
Introduction to DOM Inspector - Firefox Developer Tools
the dom inspector keeps track of all the windows that are open, so to inspect the dom of a particular window in the dom inspector, simply access that window as you would normally and then choose its title from this dynamically
updated menulist.
...by clicking around in the document pane, you'll see that the viewers are linked; whenever you select a new node from the dom nodes viewer, the dom node viewer is automatically
updated to reflect the information for that node.
... updating the dom dynamically another feature to mention in this introduction is the ability is the ability the dom inspector gives you to dynamically
update information reflected in the dom about web pages, user interface, and other elements.
...And 2 more matches
Using files from web applications - Web APIs
doctype html> <html> <head> <meta charset="utf-8"> <title>file(s) size</title> </head> <body> <form name="uploadform"> <div> <input id="uploadinput" type="file" name="myfiles" multiple> selected files: <span id="filenum">0</span>; total size: <span id="filesize">0</span> </div> <div><input type="submit" value="send file"></div> </form> <script> function
updatesize() { let nbytes = 0, ofiles = this.files, nfiles = ofiles.length; for (let nfileid = 0; nfileid < nfiles; nfileid++) { nbytes += ofiles[nfileid].size; } let soutput = nbytes + " bytes"; // optional code for multiples approximation const amultiples = ["kib", "mib", "gib", "tib", "pib", "eib", "zib", "yib"]; for (nmultiple = 0, napprox = nbytes /...
... 1024; napprox > 1; napprox /= 1024, nmultiple++) { soutput = napprox.tofixed(3) + " " + amultiples[nmultiple] + " (" + nbytes + " bytes)"; } // end of optional code document.getelementbyid("filenum").innerhtml = nfiles; document.getelementbyid("filesize").innerhtml = soutput; } document.getelementbyid("uploadinput").addeventlistener("change",
updatesize, false); </script> </body> </html> using hidden file input elements using the click() method you can hide the admittedly ugly file <input> element and present your own interface for opening the file picker and displaying which file or files the user has selected.
... function fileupload(img, file) { const reader = new filereader(); this.ctrl = createthrobber(img); const xhr = new xmlhttprequest(); this.xhr = xhr; const self = this; this.xhr.upload.addeventlistener("progress", function(e) { if (e.lengthcomputable) { const percentage = math.round((e.loaded * 100) / e.total); self.ctrl.
update(percentage); } }, false); xhr.upload.addeventlistener("load", function(e){ self.ctrl.
update(100); const canvas = self.ctrl.ctx.canvas; canvas.parentnode.removechild(canvas); }, false); xhr.open("post", "http://demos.hacks.mozilla.org/paul/demos/resources/webservices/devnull.php"); xhr.overridemimetype('text/plain; charset=x-user-defined-bin...
...And 2 more matches
Screen Wake Lock API - Web APIs
examples feature detection this code checks for wake lock support and
updates the ui accordingly.
...the wakelock.request method is promise based and so we can create an asynchronous function, which in turn
updates the ui to reflect the wake lock is active.
... wakelock.release() .then(() => { wakelock = null; }); listening for wake lock release this example
updates the ui if the wake lock has been released for any reason (such as navigating away from the active window/tab).
...And 2 more matches
ServiceWorkerRegistration - Web APIs
event handlers serviceworkerregistration.on
updatefound read only an eventlistener property called whenever an event of type
updatefound is fired; it is fired any time the serviceworkerregistration.installing property acquires a new service worker.
... serviceworkerregistration.
update() checks the server for an
updated version of the service worker without consulting caches.
...next, it adds an
updatefound listener in which it uses the service worker registration to listen for further changes to the service worker's state.
...And 2 more matches
Using Service Workers - Web APIs
this doesn’t have much of a distinct use the first time your service worker is installed/activated, but it means more when the service worker is
updated (see the updating your service worker section later on.) note: localstorage works in a similar way to service worker cache, but it is synchronous, so not allowed in service workers.
...by a service worker is fetched, which includes the documents inside the specified scope, and any resources referenced in those documents (for example if index.html makes a cross origin request to embed an image, that still goes through its service worker.) you can attach a fetch event listener to the service worker, then call the respondwith() method on the event to hijack our http responses and
update them with your own magic.
...n resp || fetch(event.request).then((response) => { let responseclone = response.clone(); caches.open('v1').then((cache) => { cache.put(event.request, responseclone); }); return response; }); }).catch(() => { return caches.match('./sw-test/gallery/mylittlevader.jpg'); }) ); }); we have opted for this fallback image because the only
updates that are likely to fail are new images, as everything else is depended on for installation in the install event listener we saw earlier.
...And 2 more matches
Service Worker API - Web APIs
they are intended, among other things, to enable the creation of effective offline experiences, intercept network requests and take appropriate action based on whether the network is available, and
update assets residing on the server.
... after that, it is
updated when: a navigation to an in-scope page occurs.
... receiving centralized
updates to expensive-to-calculate data such as geolocation or gyroscope, so multiple pages can make use of one set of data.
...And 2 more matches
Lighting in WebGL - Web APIs
then we
update the vertex shader to adjust the color of each vertex, taking into account the ambient lighting as well as the effect of the directional lighting given the angle at which it's striking the face.
... const normalize = false; const stride = 0; const offset = 0; gl.bindbuffer(gl.array_buffer, buffers.normal); gl.vertexattribpointer( programinfo.attriblocations.vertexnormal, numcomponents, type, normalize, stride, offset); gl.enablevertexattribarray( programinfo.attriblocations.vertexnormal); } finally, we need to
update the code that builds the uniform matrices to generate and deliver to the shader a normal matrix, which is used to transform the normals when dealing with the current orientation of the cube in relation to the light source: const normalmatrix = mat4.create(); mat4.invert(normalmatrix, modelviewmatrix); mat4.transpose(normalmatrix, normalmatrix); ...
... 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 themselves.
...And 2 more matches
ARIA: timer role - Accessibility
while the value does not necessarily need to be machine parsable, it should continuously
update at regular intervals unless the timer is paused or reaches its end-point.
...the clock is
updated each minute, with the new remaining time simply overwriting the current content.
... <div id="clock" role="timer" aria-live="off">20</div> <button onclick="starttimer('clock')">start</button> /* basic javascript to
update a timer */ function starttimer(timername) { // get the number of seconds let timer = document.getelementbyid(timername), seconds = parseint(timer.innertext); // remove a second //
updated the content of timer timer.innertext = --seconds // if timer != 0, settimeout if (seconds) { settimeout( function() { starttimer(timername); }, 1000); } } the first time the function executes, the entirety of the string that is added will be announced.
...And 2 more matches
Accessibility documentation index - Accessibility
7 aria live regions aria, accessibility, arialive using javascript, it is possible to dynamically change parts of a page without requiring the entire page to reload — for instance, to
update a list of search results on the fly, or to display a discreet alert or notification which does not require user interaction.
... 51 aria: alert role aria, aria role, aria alert, aria widget, reference the alert role can be used to tell the user an element has been dynamically
updated.
... screen readers will instantly start reading out the
updated content when the role is added.
...And 2 more matches
Index - Developer guides
17 event developer guide dom, event, guide, needs
update, events events refers both to a design pattern used for the asynchronous handling of various incidents which occur in the lifetime of a web page and to the naming, characterization, and use of a large number of incidents of different types.
... 19 dom onevent handlers beginner, dom, dom beginner, needsbeginner
update, needs
update the web platform provides several ways to be notified of dom events.
... 24 overview of events and handlers beginner, dom, example, javascript, needsbeginner
update, needs
update, events this overview of events and event handling explains the code design pattern used to react to incidents occurring when a browser accesses a web page, and it summarizes the types of such incidents modern web browsers can handle.
...And 2 more matches
Creating Reusable Modules - Archive of obsolete content
.createinstance(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
updatefromstream to read the entire file const pr_uint32_max = 0xffffffff; ch.
updatefromstream(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.
... .createinstance(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
updatefromstream to read the entire file const pr_uint32_max = 0xffffffff; ch.
updatefromstream(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.
... .createinstance(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
updatefromstream to read the entire file const pr_uint32_max = 0xffffffff; ch.
updatefromstream(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.
... var s = array.from(hash, (c, i) => tohexstring(hash.charcodeat(i))).join(""); return s; } exports.hashfile = md5file; index.js finally,
update index.js to import these two new modules and use them: var filepicker = require("./filepicker.js"); var md5 = require("./md5.js"); require("sdk/ui/button/action").actionbutton({ id: "show-panel", label: "show panel", icon: { "16": "./icon-16.png" }, onclick: function() { console.log(md5.hashfile(filepicker.promptforfile())); } }); distributing modules with jpm, we use npm as the package manager for sdk modules that don't ship inside firefox.
Deploying a Plugin as an Extension - Archive of obsolete content
this feature is particularly useful for vendors who wish to deploy the plugin even if firefox is not currently installed, or who want to use the automatic extension
update mechanism to
update their plugin to a newer version.
...one of the additional things that can be placed in the install.rdf is called an
updateurl.
... for example: <em:
updateurl><http://www.rhapsody.com/
update.rdf></em:
updateurl> this url specifies an rdf file that can be used to tell firefox that there are
updates available for your extension.
... this rdf file can be
updated to indicate that an
update to our extension/plugin is available.
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
fixme: figure 10: directory structure with skin package added add the skin package
update chrome.manifest with the contents of listing 10.
... add the toolbar button to add the toolbar button to the browser window,
update overlay.xul as shown in listing 11.
...toolbarpalette id="browsertoolbarpalette"> <toolbarbutton id="helloworldbutton" label="hello, world!" class="toolbarbutton-1" command="helloworldcommand" /> </toolbarpalette> <menupopup id="menu_toolspopup"> <menuitem id="helloworldmenuitem" label="hello, world!" insertbefore="sanitizeseparator" command="helloworldcommand" /> </menupopup> </overlay> create the style sheet
update the file overlay.css with the contents of listing 12.
...one point you need to take special note of is that in step 4, you
updated chrome.manifest so that the files it refers to have paths pointing inside the zip archive.
Tabbed browser - Archive of obsolete content
note that some http requests aren't associated with a tab; for example, rss feed
updates, extension manager requests, xhr requests from xpcom components, etc.
... warning: this code should be
updated to use nsiloadcontext instead of getinterface(components.interfaces.nsidomwindow).
...
updated example is in section below this observe: function (subject, topic, data) { if (topic == "http-on-modify-request") { subject.queryinterface(components.interfaces.nsihttpchannel); var url = subject.uri.spec; /* url being requested.
...s : achannel.loadgroup.notificationcallbacks; if (!notificationcallbacks) return null; var domwin = notificationcallbacks.getinterface(components.interfaces.nsidomwindow); return gbrowser.getbrowserfordocument(domwin.top.document); } catch (e) { dump(e + "\n"); return null; } } getting the browser that fires the http-on-modify-request notification (example code
updated for loadcontext) here an example of the previous section is shown.
Promises - Archive of obsolete content
resp = yield new promise((resolve, reject) => { let xhr = new xmlhttprequest; xhr.onload = resolve; xhr.onerror = reject; xhr.open("post",
updateurl); xhr.send(form); }); // use the response of the second request.
... xhr = yield request(
updateurl, { data: form }); // use the response of the second request.
... yield db.executecached( "insert into nodes (id, owner, key, value) \ values (:id, :owner, :key, :value);", { params: { id: node.id, owner: node.owner.id, key: node.key, value: node.value }}); }); // perform a bulk
update.
... yield db.execute( "
update owners, nodes \ set owners.name = nodes.name \ where owners.id = nodes.owner and nodes.key = 'name';"); // process some results.
Localizing an extension - Archive of obsolete content
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.
... we also need to
update the code to use the entities instead of the strings, so that the substitutions take place based on the currently active locale.
...
update the chrome manifest to let firefox know about the locale files, we need to make a revision to our chrome.manifest file, adding one line for each localization: locale stockwatcher2 en-us chrome/locale/ this instructs firefox that the en-us localization is located in the chrome/locale/en-us directory.
...id="myextensionname-filename")
update the javascript code now we're ready to revise the javascript code to load the strings from the string bundle instead of using literal strings.
Source code directories overview - Archive of obsolete content
it is a living document which is (supposed to be)
updated monthly according to changes in the mozilla source tree.
...it has not been
updated to support xpcom yet.
... xpinstall contains the c interfaces and code for implementing the smart
update feature from mozilla classic.
... original document information author(s): daniel howard other contributors: heikki toivonen (11-nov-1999), hervé renault (for the french translation) (16-nov-1999) last
updated date: michael kaply 2-june-2005 copyright information: portions of this content are © 1998-2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Layout System Overview - Archive of obsolete content
for example, the presentation shell receives notifications of document load events, which are used to trigger
updates to the formatting of the frames in some cases.
... the presentation shell also receives notifications about changes in cursor and focus states, whereby the selection and caret
updates can be made visible.
...this mapping facilitates
updates to frames that result in changes to content (see discussion above).
... original document information author(s): marc attinasi last
updated date: november 20, 2005 ...
Twitter - Archive of obsolete content
for example, the twitter method for tweeting, statuses/
update, maps to jetpack.lib.twitter.statuses.
update().
...example: jetpack.lib.twitter.statuses.
update({ data: { status: "o frabjous day!" }, username: "basic_auth_username", password: "basic_auth_password", success: function () console.log("hey!") }); user authentication you can supply a username and password to methods that require authentication using the second, more advanced call style described above.
...when you call a method that requires authentication -- such as jetpack.lib.twitter.statuses.
update() -- without providing a username or password, firefox will prompt the user for them if she is not already authenticated with twitter.
... example usage tweeting jetpack.lib.twitter.statuses.
update({ status: "o frabjous day!" }); firefox will prompt for a username and password if the user is not already authenticated with twitter.
Simple Storage - Archive of obsolete content
jetpack.storage.simple.notes = jetpack.storage.simple.notes || []; var notes = jetpack.storage.simple.notes; //
updates the jetpack menu with the current notes.
...function
updatejetpackmenu() { jetpack.menu.set({ label: "notes", menu: new jetpack.menu(notes.length > 0 ?
...:( jetpack.menu.context.page.beforeshow = function (menu) { menu.reset(); if (jetpack.selection.text) menu.add({ label: "note", command: function () { notes.unshift(jetpack.selection.text); if (notes.length > 20) notes.pop();
updatejetpackmenu(); } }); }; // initialize the jetpack menu with the current notes.
...
updatejetpackmenu(); see also settings jep 11 ...
Space Manager High Level Design - Archive of obsolete content
during reflow, the space manager stores the space taken up by floats (
updatespacemanager in nsblockframe) and provides information about the space available for other elements (getavailablespace in nsblockreflowstate).
...this happens in the method nsblockreflowstate::recoverfloats and nsblockreflowstate::flowandplacefloat (formerly this was done in nsblockframe::
updatespacemanager).
... if the block has any block children, then translate the space manager to the child block's origin and
update the space manager in the context for the child block, recursively.
...ine) nsblockframe::paint is mucking with nsblockbanddata in and #if 0 block - remove that and the include (compiles fine) nsspacemanger has no way of clearing the float damage interval set - this might be needed if the spacemanager persists beyond a reflow original document information author(s): marc attinasi other contributors: alex savulov, chris waterson, david baron, josh soref last
updated date: november 20, 2005 ...
RDF Modifications - Archive of obsolete content
« previousnext » one of the most useful aspects of using templates with rdf datasources is that when the rdf datasource changes, for instance a new triple is added, or a triple is removed, the template
updates accordingly, adding or removing result output as needed.
...the template builder uses these notifcations to
update the template as necessary based on the new or removed information.
...the rdf observer also has two methods onbegin
updatebatch and onend
updatebatch.
...however, this does show that the template builder can
update the output upon changes without rebuilding the entire template.
Broadcasters and Observers - Archive of obsolete content
in the latter case, various user interface elements might need to
update when the user switches from offline mode to online mode.
...if the value of the label attribute on the broadcaster changes, the observers will
update the values of their label attributes also.
...whenever the value of any of the attributes on the broadcaster changes, the observers are all notified and they
update their own attributes to match.
...the only attributes that are not
updated are the id and persist attributes; these attributes are never shared.
XULRunner Hall of Fame - Archive of obsolete content
version
updates match the rapid release cycle.
...source yoono desktop win/mac application to get all your friend
updates,
update your status and share stuff easily across facebook, myspace, twitter, and more - all at once!
... inactive projects these projects appear to be less actively developed, with no
updates since 2010.
...an
updated version of "mybrowser" that works with firefox 25.0.1+ is available in matthew kastor's xulrunner examples at https://github.com/matthewkastor/xulrunner-examples/ exch a currency conversion tool using
updated data from http://finance.yahoo.com/currency.
2006-10-06 - Archive of obsolete content
test resumt will be found here another lightning localization
update with some bad news difference has been located between sunbird_0_3_branch (for sunbird 0.3) and mozilla_1_8_branch.
... sunbird/lightning localization
update you need to
update your localization if you want your locale to ship with lightning 0.3 or sunbird 0.3.
... calendar localization
update rc1 for sunbird 0.3 is out now and ready for testing.
... discussions status
update fx2 status
update for firefox 2.
2006-12-01 - Archive of obsolete content
firefox 1.5.0.9/2.0.0.1
update - we need help!
... jay patael calls for help getting the next
update ff 1.5.x and 2.x.
... automatic configure
updated back preed announces that the machine that does the automatic autoconf/configure generation (egg.build.mozilla.org) is back up.
...watch #grandparadiso for
updates.
Shipping a plugin as a Toolkit bundle - Archive of obsolete content
providing
updates when plugins are packaged in this way they can make use of the built in add-on
update system.
... this allows a remote
update file to be read periodically and an
updated version of the plugin offered to the user or to mark the plugin as compatible with a wider range of applications.
... this is performed by including an
updateurl in the install manifest.
... this should point to an
update.rdf file on the internet which will include the
updated versions and version information for the plugin.
Building a Theme - Archive of obsolete content
introduction this tutorial will take you through the steps required to build a very basic theme - one which
updates the background color of the toolbars in firefox.
... for this tutorial, we're going to
update the background color of the toolbars.
... you can now go back and make additional changes to your css files, close and restart firefox, and see the
updates.
... on mac os or linux, you can use the command-line zip tool: zip -r my_theme.xpi install.rdf chrome.manifest browser communicator global mozapps or, if you have 7-zip installed, you can use that for zipping it up: 7z a -tzip my_theme.xpi chrome chrome.manifest note: the command-line tool will
update an existing zip file, not replace it - so if you have files you've deleted from your theme, be sure to remove the .xpi file before running the zip command again.
Reference - Archive of obsolete content
once that is done, the various code samples should be
updated to reflect current practices and code if they cannot be written in a "version-neutral" manner.
...herorev 00:49, 27 october 2006 (pdt) since the for each...in loop is a 1.6 feature (not a 1.5 feature), maybe someone should rename this page/category to be either a general javascript reference or
update it to be the 1.6 reference.
...then carefully
update all links to the javascript 1.5 pages to link to the javascript 1.6 pages -- unless the links are specifically about javascript 1.5 ?
...but someone trying write some javascript 2.0, wanting a list of all the features it supports, might be annoyed at having to read through *all* the
updates.
Bounding volume collision detection with THREE.js - Game development
so if we apply transformations or change the position of the mesh, we need to manually
update the bounding sphere.
... the advantages of using this helper are: it has an
update() method that will resize its bounding box mesh if the linked mesh rotates or changes its dimensions, and
update its position.
...we need to call the
update() method so the boxhelper instance matches its linked mesh.
... knot.position.set(-3, 2, 1); knot.rotation.x = -math.pi / 4; //
update the bounding box so it stills wraps the knot knotboxhelper.
update(); box3.setfromobject(knotboxhelper); performing collision tests is done in the same way as explained in the above section — we use our box3 object in the same way as described above.
Implementing game control mechanisms - Game development
every state has its own default methods: preload(), create(), and
update().
... the first one is needed for preloading required assets, create() is executed once the state had started, and
update() is executed on every frame.
...} it will be created once at the start of the game, and will execute this.clickenclave() action assigned to it when clicked, but you can also use the mouse's pointer value in the
update() function to make an action:
update: function() { // ...
...we'll be playing mostly with the mainmenu.js and game.js files, and we'll explain the code inside the create() and
update() methods in much more detail in later articles.
Move the ball - Game development
now, let's draw the ball — add the following inside your draw() function: ctx.beginpath(); ctx.arc(50, 50, 10, 0, math.pi*2); ctx.fillstyle = "#0095dd"; ctx.fill(); ctx.closepath(); try your
updated code now — the ball should be repainted on every frame.
... first, add the following two lines above your draw() function, to define x and y: var x = canvas.width/2; var y = canvas.height-30; next
update the draw() function to use the x and y variables in the arc() method, as shown in the following highlighted line: function draw() { ctx.beginpath(); ctx.arc(x, y, 10, 0, math.pi*2); ctx.fillstyle = "#0095dd"; ctx.fill(); ctx.closepath(); } now comes the important part: we want to add a small value to x and y after every frame has been drawn to make it appear that the ball i...
...add the following below your x and y variable definitions: var dx = 2; var dy = -2; the last thing to do is to
update x and y with our dx and dy variable on every frame, so the ball will be painted in the new position on every
update.
...every 10 milliseconds the canvas is cleared, the blue circle (our ball) will be drawn on a given position and the x and y values will be
updated for the next frame.
Initialize the framework - Game development
on, and add the following code to it: <!doctype html> <html> <head> <meta charset="utf-8" /> <title>gamedev phaser workshop - lesson 01: initialize the framework</title> <style>* { padding: 0; margin: 0; }</style> <script src="js/phaser.min.js"></script> </head> <body> <script> var game = new phaser.game(480, 320, phaser.canvas, null, { preload: preload, create: create,
update:
update }); function preload() {} function create() {} function
update() {} </script> </body> </html> downloading the phaser code next, we need to go through the process of downloading the phaser source code and applying it to our html document.
...
update the src value of the first <script> element as shown above.
... the id of the <canvas> to use for rendering if one already exists on the page (we've specified null because we want phaser to create its own.) the names to use for phaser's three key functions that load and start the game, and
update the game loop on every frame; we will use the same names to keep it clean.
... preload takes care of preloading the assets create is executed once when everything is loaded and ready
update is executed on every frame.
Player paddle and controls - Game development
to enable collision detection between the paddle and ball, add the collide() method to the
update() function as shown: function
update() { game.physics.arcade.collide(ball, paddle); } the first parameter is one of the objects we are interested in — the ball — and the second is the other one, the paddle.
...add the following new line to the
update() function, as shown: function
update() { game.physics.arcade.collide(ball, paddle); paddle.x = game.input.x; } now on every new frame the paddle's x position will adjust accordingly to the input's x position, however when we start the game, the position of the paddle is not in the middle.
...
update the previous line as follows: paddle.x = game.input.x || game.world.width*0.5; if you haven't already done so, reload your index.html and try it out!
...) line and
update it to the following: ball.body.velocity.set(150, -150); now the ball will start right from the middle of the paddle.
What is a Domain Name? - Learn web development
alternatively, if you use a system with a built-in shell, type a whois command into it, as shown here for mozilla.org: $ whois mozilla.org domain name:mozilla.org domain id: d1409563-lror creation date: 1998-01-24t05:00:00z
updated date: 2013-12-08t01:16:57z registry expiry date: 2015-01-23t05:00:00z sponsoring registrar:markmonitor inc.
... (r37-lror) sponsoring registrar iana id: 292 whois server: referral url: domain status: clientdeleteprohibited domain status: clienttransferprohibited domain status: client
updateprohibited registrant id:mmr-33684 registrant name:dns admin registrant organization:mozilla foundation registrant street: 650 castro st ste 300 registrant city:mountain view registrant state/province:ca registrant postal code:94041 registrant country:us registrant phone:+1.6509030800 as you can see, i can't register mozilla.org because the mozilla foundation has already registered it.
... whenever your registrar creates or
updates any information for a given domain, the information must be refreshed in every dns database.
... each dns server that knows about a given domain stores the information for some time before it is automatically invalidated and then refreshed (the dns server queries an authoritative server and fetches the
updated information from it).
Build your own function - Learn web development
first of all,
update the first line of the function: function displaymessage() { to this: function displaymessage(msgtext, msgtype) { now when we call the function, we can provide two variable values inside the parentheses to specify the message to display in the message box, and the type of message it is.
... to make use of the first parameter,
update the following line inside your function: msg.textcontent = 'this is a message box'; to msg.textcontent = msgtext; last but not least, you now need to
update your function call to include some
updated message text.
...first,
update the .msgbox width from: width: 200px; to width: 242px; next, add the following lines inside the .msgbox p { ...
... let's test out our
updated function, try updating the displaymessage() call from this: displaymessage('woo, this is a different message!'); to one of these: displaymessage('your inbox is almost full — delete some mails', 'warning'); displaymessage('brian: hi there, how are you today?','chat'); you can see how useful our (now not so) little function is becoming.
Introduction to web APIs - Learn web development
apis that fetch data from the server to
update small sections of a webpage on their own are very commonly used.
... this seemingly small detail has had a huge impact on the performance and behaviour of sites — if you just need to
update a stock listing or list of available new stories, doing it instantly without having to reload the whole entire page from the server can make the site or app feel much more responsive and "snappy".
... apis for drawing and manipulating graphics are now widely supported in browsers — the most popular ones are canvas and webgl, which allow you to programmatically
update the pixel data contained in an html <canvas> element to create 2d and 3d scenes.
...examples include telling the user that a useful
update is available on a web app via system notifications (see the notifications api) or vibration hardware (see the vibration api).
Basic math in JavaScript — numbers and operators - Learn web development
for a start, note that you can't apply these directly to a number, which might seem strange, but we are assigning a variable a new
updated value, not operating on the value itself.
... open in new window in the editable code box above, there are two lines marked with a comment that we'd like you to
update to make the box grow/shrink to certain sizes, using certain operators and/or values in each case.
...for now, let's look at a quick example: <button>start machine</button> <p>the machine is stopped.</p> const btn = document.queryselector('button'); const txt = document.queryselector('p'); btn.addeventlistener('click',
updatebtn); function
updatebtn() { if (btn.textcontent === 'start machine') { btn.textcontent = 'stop machine'; txt.textcontent = 'the machine has started!'; } else { btn.textcontent = 'start machine'; txt.textcontent = 'the machine is stopped.'; } } open in new window you can see the equality operator being used just inside the
updatebtn() function.
...if the button is currently saying "start machine" when it is pressed, we change its label to "stop machine", and
update the label as appropriate.
Ember app structure and componentization - Learn web development
update the application.hbs file again so its content looks like this: <section class="todoapp"> <h1>todos</h1> <input class="new-todo" aria-label="what needs to be done?" placeholder="what needs to be done?" autofocus > <section class="main"> <input id="mark-all-complete" class="toggle-all" type="checkbox"> <label for="mark-all-complete">mark all as complete</label> ...
... the header.hbs file should be
updated to contain the following: <input class="new-todo" aria-label="what needs to be done?" placeholder="what needs to be done?" autofocus > todo-list.hbs should be
updated to contain this chunk of code: <section class="main"> <input id="mark-all-complete" class="toggle-all" type="checkbox"> <label for="mark-all-complete">mark all as complete</label> <ul class="todo-list"> ...
...g into the todo.hbs file: <li> <div class="view"> <input aria-label="toggle the completion of this todo" class="toggle" type="checkbox" > <label>buy movie tickets</label> <button type="button" class="destroy" title="remove this todo" ></button> </div> <input autofocus class="edit" value="todo text"> </li> footer.hbs should be
updated to contain the following: <footer class="footer"> <span class="todo-count"> <strong>0</strong> todos left </span> <ul class="filters"> <li> <a href="#">all</a> <a href="#">active</a> <a href="#">completed</a> </li> </ul> <button type="button" class="clear-completed"> clear completed </button> </footer> finally, the contents of application.
...hbs should be
updated so that they call the appropriate components, like so: <section class="todoapp"> <h1>todos</h1> <header /> <todolist /> <footer /> </section> with these changes made, run npm start in your terminal again, then head over to http://localhost:4200 to ensure that the todo app still looks as it did before the refactor.
Framework main features - Learn web development
this component should be responsible for tracking its own count state, and could be written like this: function counterbutton() { const [count] = usestate(0); return ( <button>clicked {count} times</button> ); } usestate() is a react hook which, given an initial data value, will keep track of that value as it is
updated.
...let’s
update our counterbutton code from above to allow it to count clicks: function counterbutton() { const [count, setcount] = usestate(0); return ( <button onclick={() => setcount(count + 1)}>clicked {count} times</button> ); } in this version we are using additional usestate() functionality to create a special setcount() function, which we can invoke to
update the value of count.
...your application
updates this copy of the dom, then compares it to the "real" dom — the dom that is actually rendered for your users — in order to decide what to render.
... the application builds a "diff" to compare the differences between the
updated virtual dom and the currently rendered dom, and uses that diff to apply
updates to the real dom.
Accessibility in React - Learn web development
the textbox <input> in your editing template should be
updated like this: <input id={props.id} classname="todo-text" type="text" value={newname} onchange={handlechange} ref={editfieldref} /> the "edit" button in your view template should read like this: <button type="button" classname="btn" onclick={() => setediting(true)} ref={editbuttonref} > edit <span classname="visually-hidden">{props.name}</span> </button> focusing on our ref...
...
update your existing useeffect() hook so that it reads like this: useeffect(() => { if (isediting) { editfieldref.current.focus(); } }, [isediting]); these changes make it so that, if isediting is true, react reads the current value of the editfieldref and moves browser focus to it.
...let's try it now —
update your useeffect() call like so: useeffect(() => { if (isediting) { editfieldref.current.focus(); } else { editbuttonref.current.focus(); } }, [isediting]); this kind of mostly works.
...we want this constant to track the previous value of isediting, so we call useprevious with isediting as an argument: const wasediting = useprevious(isediting); with this constant, we can
update our useeffect() hook to implement the pseudocode we discussed before —
update it as follows: useeffect(() => { if (!wasediting && isediting) { editfieldref.current.focus(); } if (wasediting && !isediting) { editbuttonref.current.focus(); } }, [wasediting, isediting]); note that the logic of useeffect() now depends on wasediting, so we provide it in the array of dependencies.
Styling Vue components with CSS - Learn web development
update your app.vue file’s <style> element so it looks like so: <style> /* global styles */ .btn { padding: 0.8rem 1rem 0.7rem; border: 0.2rem solid #4d4d4d; cursor: pointer; text-transform: capitalize; } .btn__danger { color: #fff; background-color: #ca3c3c; border-color: #bd2130; } .btn__filter { border-color: lightgrey; } .btn__danger:focus { outline-color: #c82333; } .btn__prima...
...
update your todoform template so that it looks like this: <template> <form @submit.prevent="onsubmit"> <h2 class="label-wrapper"> <label for="new-todo-input" class="label__lg"> what needs to be done?
...
update it as follows: <ul aria-labelledby="list-summary" class="stack-large"> adding scoped styles the last component we want to style is our todoitem component.
...the
updated template is below: the app should now have custom checkboxes.
Index
685 obsolete add-ons, archive, look & feel, obsolete, themes this page contains theme documents and resources that we don't expect will ever be
updated, but which we're keeping for the time being as potential source material for
updated docs.
... 689
updates firefox supports automated
updates to add-ons using json
update manifests.
... add-ons hosted on amo automatically receive
updates to new versions posted there.
... other add-ons must specify the location of their
update manifests.
Displaying Places information using views
when a view's underlying data changes, the view will automatically
update itself so that it displays the new data.
... this
update is handled by logic between the view and its results.
...nsinavhistoryresultobserver notifies observing clients about
updates when the underlying data changes.
...(the three built-in views take this approach.) the results object then communicates to your view via this instance, notifying it about changes in the underlying data so it can
update its display.
Add-on Manager
finding
updates add-ons can be checked for
updates using the find
updates() method.
... it must be passed an
updatelistener to receive information about compatibility information and new
update information.
... any available
update is returned as an addoninstall which is ready to be downloaded and installed.
...the getstartupchanges() method lets you find out which add-ons were installed, removed,
updated, enabled, or disabled at application startup.
Localizing with Koala
llowing commands: c:\users\stas> cd c:\mozilla\l10n\application\firefox c:\mozilla\l10n\application\firefox> rmdir 3.6 c:\mozilla\l10n\application\firefox> hg clone http://hg.mozilla.org/releases/mozilla-1.9.2 3.6 requesting all changes adding changesets adding manifests adding file changes added 33099 changesets with 158636 changes to 50664 files (+9 heads) updating working directory 40357 files
updated, 0 files merged, 0 files removed, 0 files unresolved configure the locale locale id: x-testing (put your locale's code) version: 3.6 location: choose the folder where you want to keep the localized files or leave empty for now check "mercurial" if you wish to use mercurial to keep the revision history of your files (very recommended) existing localizations: url: if you're editing an existi...
...to make sure you're always translating the most recent en-us reference, you should
update the source repository before you start working.
...in "last used compares" click "
update repo" to
update the en-us repository to the most recent version.
... or, you can select firefox (3.6), en-us (included) and x-testing (3.6) in the "open" section below, and click "
update repos" on the right.
Encrypt Decrypt MAC Keys As Session Objects
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; } /* * mac
update */ secstatus mac
update(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 maxle...
... pr_fprintf(pr_stderr, "compute mac failed : pk11_digestfinal()\n"); } return secsuccess; } /* * compute mac */ secstatus computemac(pk11context *ctxmac, unsigned char *ptext, unsigned int ptextlen, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = macinit(ctxmac); if (rv != secsuccess) return rv; rv = mac
update(ctxmac, ptext, ptextlen); if (rv != secsuccess) return rv; rv = macfinal(ctxmac, mac, maclen, maxlen); return rv; } /* * writetoheaderfile */ secstatus writetoheaderfile(const char *buf, unsigned int len, headertype type, prfiledesc *outfile) { secstatus rv; char header[40]; char trailer[40]; char *outstring = null...
... != secsuccess) { pr_fprintf(pr_stderr, "encrypt failure\n"); goto cleanup; } /* save the last block of ciphertext as the next iv */ iv = encbuf; ivlen = encbuflen; /* write the cipher text to intermediate file */ nwritten = pr_write(encfile, encbuf, encbuflen); /*pr_assert(nwritten == encbuflen);*/ rv = mac
update(ctxmac, ptext, ptextlen); } rv = macfinal(ctxmac, mac, &maclen, digestsize); if (rv != secsuccess) { pr_fprintf(pr_stderr, "macfinal failure\n"); goto cleanup; } if (maclen == 0) { pr_fprintf(pr_stderr, "bad mac length\n"); rv = secfailure; goto cleanup; } writetoheaderfile(mac, maclen, mac, headerfile); if (rv != secsuccess...
...ctext, sizeof(ctext))) > 0) { count += ctextlen; /* decrypt cipher text buffer using cbc and iv */ rv = decrypt(ctxenc, decbuf, &decbuflen, sizeof(decbuf), ctext, ctextlen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "decrypt failure\n"); goto cleanup; } if (decbuflen == 0) break; rv = mac
update(ctxmac, decbuf, decbuflen); if (rv != secsuccess) { goto cleanup; } if (count == filelength) { decbuflen = decbuflen-paddinglength; } /* write the plain text to out file */ temp = pr_write(outfile, decbuf, decbuflen); if (temp != decbuflen) { pr_fprintf(pr_stderr, "write error\n"); rv = secfailure; br...
Encrypt and decrypt MAC using token
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; } /* * mac
update */ secstatus mac
update(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 maxle...
... pr_fprintf(pr_stderr, "compute mac failed : pk11_digestfinal()\n"); } return secsuccess; } /* * compute mac */ secstatus computemac(pk11context *ctxmac, unsigned char *ptext, unsigned int ptextlen, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = macinit(ctxmac); if (rv != secsuccess) return rv; rv = mac
update(ctxmac, ptext, ptextlen); if (rv != secsuccess) return rv; rv = macfinal(ctxmac, mac, maclen, maxlen); return rv; } /* * writetoheaderfile */ secstatus writetoheaderfile(const char *buf, unsigned int len, headertype type, prfiledesc *outfile) { secstatus rv; char header[40]; char trailer[40]; char *outstring = null...
... != secsuccess) { pr_fprintf(pr_stderr, "encrypt failure\n"); goto cleanup; } /* save the last block of ciphertext as the next iv */ iv = encbuf; ivlen = encbuflen; /* write the cipher text to intermediate file */ nwritten = pr_write(encfile, encbuf, encbuflen); /*pr_assert(nwritten == encbuflen);*/ rv = mac
update(ctxmac, ptext, ptextlen); } rv = macfinal(ctxmac, mac, &maclen, digestsize); if (rv != secsuccess) { pr_fprintf(pr_stderr, "macfinal failure\n"); goto cleanup; } if (maclen == 0) { pr_fprintf(pr_stderr, "bad mac length\n"); rv = secfailure; goto cleanup; } writetoheaderfile(mac, maclen, mac, headerfile); if (rv != secsuccess...
...ctext, sizeof(ctext))) > 0) { count += ctextlen; /* decrypt cipher text buffer using cbc and iv */ rv = decrypt(ctxenc, decbuf, &decbuflen, sizeof(decbuf), ctext, ctextlen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "decrypt failure\n"); goto cleanup; } if (decbuflen == 0) break; rv = mac
update(ctxmac, decbuf, decbuflen); if (rv != secsuccess) { goto cleanup; } if (count == filelength) { decbuflen = decbuflen-paddinglength; } /* write the plain text to out file */ temp = pr_write(outfile, decbuf, decbuflen); if (temp != decbuflen) { pr_fprintf(pr_stderr, "write error\n"); rv = secfailure; br...
NSS_3.12_release_notes.html
bug 391292: shared database implementation slow bug 391294: shared database implementation really slow on network file systems bug 392521: automatic shared db
update fails if user opens database r/w but never supplies a password bug 392522: integrity hashes must be
updated when passwords are changed.
...bug 217538: softoken databases cannot be shared between multiple processes bug 294531: design new interfaces for certificate path building and verification for libpkix bug 326482: nss ecc performance problems (intel) bug 391296: need an
update helper for shared databases bug 395090: remove duplication of pkcs7 code from pkix_pl_httpcertstore.c bug 401026: need to provide a way to modify and create new pkcs #11 objects.
...bug 132485: built-in root certs slot description is empty bug 177184: nss_cmsdecoder_cancel might have a leak bug 232392: erroneous root ca tests in nss libraries bug 286642: util should be in a shared library bug 287052: function to get crl entry reason code has incorrect prototype and implementation bug 299308: need additional apis in the crl cache for libpkix bug 335039: nssckfwcryptooperation_
updatecombo is not declared bug 340917: crlutil should init nss read-only for some options bug 350948: freebl macro change can give 1% improvement in rsa performance on amd64 bug 352439: reference leaks in modutil bug 369144: certutil needs option to generate subjectkeyid extension bug 391771: pk11_config_name and pk11_config_strings leaked on shutdown bug 401194: crash in lg_findobjects on win64 bug 40...
...) bug 338453: leaks in security/nss/lib/jar/jarfile.c bug 351408: leaks in jar_jar_sign_archive (security/nss/lib/jar/jarjart.c) bug 351443: remove unused code from mozilla/security/nss/lib/jar bug 351510: remove use_moz_thread code from mozilla/security/lib/jar bug 118830: nss public header files should be c++ safe bug 123996: certutil -h doesn't document certutil -c -a bug 178894: quick decoder
updates for lib/certdb and lib/certhigh bug 220115: ckm_invalid_mechanism should be an unsigned long constant.
NSS 3.55 release notes
dtls 1.3 implementation is
updated to draft-38.
... nspr dependency
updated to 4.27.
... bug 1647752 -
update dtls 1.3 implementation to draft-38.
... bug 1652331 -
update nss 3.55 nspr version to 4.27.
Encrypt Decrypt_MAC_Using Token
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; } /* * mac
update */ secstatus mac
update(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 computemac(pk11context *ctxmac, unsigned char *ptext, unsigned int ptextlen, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = macinit(ctxmac); if (rv != secsuccess) return rv; rv = mac
update(ctxmac, ptext, ptextlen); if (rv != secsuccess) return rv; rv = macfinal(ctxmac, mac, maclen, maxlen); return rv; } /* * writetoheaderfile */ secstatus writetoheaderfile(const char *buf, unsigned int len, headertype type, prfiledesc *outfile) { secstatus rv; char header[40]; char trailer[40]; char *outstring = null...
...*/ nwritten = pr_write(encfile, encbuf, encbuflen); /* pr_assert(nwritten == encbuflen); */ rv = mac
update(ctxmac, ptext, ptextlen); } rv = macfinal(ctxmac, mac, &maclen, digestsize); if (rv != secsuccess) { pr_fprintf(pr_stderr, "macfinal failure\n"); goto cleanup; } if (maclen == 0) { pr_fprintf(pr_stderr, "bad mac length\n"); rv = secfailure; goto cleanup; } writetoheaderfile(mac, maclen, mac, headerfile); if (rv != secsuccess...
...*/ rv = decrypt(ctxenc, decbuf, &decbuflen, sizeof(decbuf), ctext, ctextlen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "decrypt failure\n"); goto cleanup; } if (decbuflen == 0) break; rv = mac
update(ctxmac, decbuf, decbuflen); if (rv != secsuccess) { goto cleanup; } if (count == filelength) { decbuflen = decbuflen-paddinglength; } /* write the plain text to out file.
NSS Sample Code Sample_3_Basic Encryption and MACing
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; } /* * mac
update */ secstatus mac
update(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 maxle...
... pr_fprintf(pr_stderr, "compute mac failed : pk11_digestfinal()\n"); } return secsuccess; } /* * compute mac */ secstatus computemac(pk11context *ctxmac, unsigned char *ptext, unsigned int ptextlen, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = macinit(ctxmac); if (rv != secsuccess) return rv; rv = mac
update(ctxmac, ptext, ptextlen); if (rv != secsuccess) return rv; rv = macfinal(ctxmac, mac, maclen, maxlen); return rv; } /* * write to header file */ secstatus writetoheaderfile(const char *buf, unsigned int len, headertype type, prfiledesc *outfile) { secstatus rv; char header[40]; char trailer[40]; char *outstring = n...
... != secsuccess) { pr_fprintf(pr_stderr, "encrypt failure\n"); goto cleanup; } /* save the last block of ciphertext as the next iv */ iv = encbuf; ivlen = encbuflen; /* write the cipher text to intermediate file */ nwritten = pr_write(encfile, encbuf, encbuflen); /*pr_assert(nwritten == encbuflen);*/ rv = mac
update(ctxmac, ptext, ptextlen); } rv = macfinal(ctxmac, mac, &maclen, digestsize); if (rv != secsuccess) { pr_fprintf(pr_stderr, "macfinal failure\n"); goto cleanup; } if (maclen == 0) { pr_fprintf(pr_stderr, "bad mac length\n"); rv = secfailure; goto cleanup; } writetoheaderfile(mac, maclen, mac, headerfile); if (rv != secsuccess...
...ctext, sizeof(ctext))) > 0) { count += ctextlen; /* decrypt cipher text buffer using cbc and iv */ rv = decrypt(ctxenc, decbuf, &decbuflen, sizeof(decbuf), ctext, ctextlen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "decrypt failure\n"); goto cleanup; } if (decbuflen == 0) break; rv = mac
update(ctxmac, decbuf, decbuflen); if (rv != secsuccess) { goto cleanup; } if (count == filelength) { decbuflen = decbuflen-paddinglength; } /* write the plain text to out file */ temp = pr_write(outfile, decbuf, decbuflen); if (temp != decbuflen) { pr_fprintf(pr_stderr, "write error\n"); rv = secfailure; br...
EncDecMAC using token object - sample 3
te the symmetric key */ key = pk11_tokenkeygen(slot, mechanism, 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; } /* * mac
update */ secstatus mac
update(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_stderr, "compute mac failed : pk11_digestfinal()\n"); } return secsuccess; } /* * compute mac */ secstatus computemac(pk11context *ctxmac, unsigned char *ptext, unsigned int ptextlen, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = macinit(ctxmac); if (rv != secsuccess) return rv; rv = mac
update(ctxmac, ptext, ptextlen); if (rv != secsuccess) return rv; rv = macfinal(ctxmac, mac, maclen, maxlen); return rv; } /* * writetoheaderfile */ secstatus writetoheaderfile(const char *buf, unsigned int len, headertype type, prfiledesc *outfile) { secstatus rv; char header[40]; char trailer[40]; char *outstring = null; switch (type) { case symkey: strcpy(header, enckey_header); strcpy(trailer, enckey_trailer); break; case...
...cksize; } rv = encrypt(ctxenc, encbuf, &encbuflen, sizeof(encbuf), ptext, ptextlen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "encrypt failure\n"); goto cleanup; } /* save the last block of ciphertext as the next iv */ iv = encbuf; ivlen = encbuflen; /* write the cipher text to intermediate file */ nwritten = pr_write(encfile, encbuf, encbuflen); /*pr_assert(nwritten == encbuflen);*/ rv = mac
update(ctxmac, ptext, ptextlen); } rv = macfinal(ctxmac, mac, &maclen, digestsize); if (rv != secsuccess) { pr_fprintf(pr_stderr, "macfinal failure\n"); goto cleanup; } if (maclen == 0) { pr_fprintf(pr_stderr, "bad mac length\n"); rv = secfailure; goto cleanup; } writetoheaderfile(mac, maclen, mac, headerfile); if (rv != secsuccess) { pr_fprintf(pr_stderr, "write mac failure\n"); goto cleanup; } pad[0] ...
...(ek, iv, ivlen, ckm_aes_cbc); filelength = filesize(encryptedfilename); while ((ctextlen = pr_read(infile, ctext, sizeof(ctext))) > 0) { count += ctextlen; /* decrypt cipher text buffer using cbc and iv */ rv = decrypt(ctxenc, decbuf, &decbuflen, sizeof(decbuf), ctext, ctextlen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "decrypt failure\n"); goto cleanup; } if (decbuflen == 0) break; rv = mac
update(ctxmac, decbuf, decbuflen); if (rv != secsuccess) { goto cleanup; } if (count == filelength) { decbuflen = decbuflen-paddinglength; } /* write the plain text to out file */ temp = pr_write(outfile, decbuf, decbuflen); if (temp != decbuflen) { pr_fprintf(pr_stderr, "write error\n"); rv = secfailure; break; } /* save last block of ciphertext */ memcpy(iv, decbuf, decbuflen); ivlen = decbuflen; bloc...
Notes on TLS - SSL 3.0 Intolerant Servers
) domino-go-webserver/4.6.2.6 (and perhaps some later versions) ibm_http_server/1.3.6.3 or earlier (*
update to 1.3.6.4) ibm_http_server/1.3.12.1 or earlier (*
update to 1.3.12.2) java web server 2 osu/3.2 - decthreads http server for openvm stronghold/2.2 webmail v.
... 3.6.1 by infinite technologies (*
update available) n.b.
...if you are using these old versions, please
update to the latest netscape or mozilla versions.
...(note: you will be asked to provide your email address before you can file a bug at bugzilla.) original document information author : katsuhiko momoi last
updated date: january 27th, 2003 copyright © 2001-2003 netscape.
NSS Tools crlutil
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=yyyymmddhhmmssz next
update=yyyymmddhhmmssz field "next
update" is optional.
... from file: examples creating a new crl listing crls in a database deleting crl from a database importing crl into a database modifiying crl in a database creating a new crl this example creates a new crl and importing it in to a database in the specified directory: crlutil -g -d certdir -n cert-nickname -c crl-script-file or crlutil -g -d certdir -n cert-nickname <<eof
update=20050204153000z addcert 34-40 20050104153000z eof where cert-nickname is the name the new crl will be signed with.
... crlutil -l -d certdir -n nickname crl info: : version: 2 (0x1) signature algorithm: pkcs #1 md5 with rsa encryption issuer: "cn=nss test ca,o=bogus nss,l=mountain view,st=california,c=us" this
update: wed feb 23 12:08:38 2005 entry (1): serial number: 40 (0x28) revocation date: wed feb 23 12:08:10 2005 entry (2): serial number: 42 (0x2a) revocation date: wed feb 23 12:08:40 2005 deleting crl from a database this example deletes crl from a database in the specified directory: crlutil -d -n nickname -d certdir importing crl into a...
... modifying crl in a database this example modifies a new crl and importing it in to a database in the specified directory: crlutil -g -d certdir -n cert-nickname -c crl-script-file or crlutil -m -d certdir -n cert-nickname <<eof
update=20050204153000z addcert 40-60 20050105153000z eof the crl management tool extracts existing crl from a database, will modify and sign with certificate cert-nickname and will store it in database.
Index
7 gcintegration developing mozilla, firefox, garbage collection, intermediate, intro, jsapi, needs
update, spidermonkey, tools, memory the spidermonkey garbage collector (gc) will be changing a lot in the future.
... 152 jsruntime jsapi reference, needscontent, needs
update, spidermonkey in the jsapi, jsruntime is the top-level object that represents an instance of the javascript engine.
... 507 js_
updatemalloccounter jsapi reference, reference, référence(2), spidermonkey js_
updatemalloccounter decrements malloc counter of gc and the zone of the context.
... 526 rebranding spidermonkey (1.8.5) build documentation, spidermonkey after installing the build pre-requisites and downloading the spidermonkey source tarball issue the following commands at the terminal: 527 spidermonkey internals guide, javascript, needs
update, spidermonkey at heart, spidermonkey is a fast interpreter that runs an untyped bytecode and operates on values of type js::value—type-tagged values that represent the full range of javascript values.
WebReplayRoadmap
in a non-recording tab this will
update the console whenever the log point's location executes in the future.
... in a recording tab, however, this will
update the console with messages for every time the location has ever been hit.
... this requires scanning the recording and the console will not
update immediately.
... allowing css to be changed while paused somewhere in the recording and
update graphics with the effects of those changes.
Using the Places history service
nsinavhistoryservice.begin
updatebatch: call when you will be making many small changes to the history system.
...if you are just doing a few changes, it is probably better to not use a batch since incremental
updates are not done.
... be sure to call end
updatebatch when you are done or the ui will be permanently broken.
... nsinavhistoryservice.end
updatebatch: ends a batch operation previously started with begin
updatebatch.
imgIContainer
void frame
updated(in unsigned long framenum, in nsintrect anewrect); native code only!
... return value missing description exceptions thrown missing exception missing description native code only!frame
updated obsolete since gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...void frame
updated( in unsigned long framenum, in nsintrect anewrect ); parameters framenum missing description anewrect missing description exceptions thrown missing exception missing description native code only!getcurrentframerect obsolete since gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...exceptions thrown missing exception missing description violates the xpcom interface guidelines requestrefresh() indicates that this imgicontainer has been triggered to
update its internal animation state.
mozISpellCheckingEngine
when this attribute's value is changed, a "spellcheck-dictionary-
update" notification is sent.
... when this changes, the spell checker sends a "spellcheck-dictionary-
update" notification.
...when this changes, the spell checker sends a "spellcheck-dictionary-
update" notification.
...when this changes, the spell checker sends a "spellcheck-dictionary-
update" notification.
nsICRLInfo
last
update prtime the time this crl was created at.
... last
updatelocale astring last
update formatted as a human readable string formatted according to the environment locale.
... next
update prtime the time the suggested next
update for this crl.
... next
updatelocale astring next
update formatted as a human readable string formatted according to the environment locale.
nsIDeviceMotion
methods addlistener() when called, the accelerometer support implementation must begin to notify the specified nsidevicemotionlistener by calling its nsidevicemotionlistener.onaccelerationchange() method as appropriate to share
updated acceleration data.
... void addlistener( in nsidevicemotionlistener alistener ); parameters alistener the nsidevicemotionlistener object whose nsidevicemotionlistener.onaccelerationchange() method should be called with
updated acceleration data.
... removelistener() tells the accelerometer to stop sending
updates to the specified nsidevicemotionlistener.
... void removelistener( in nsidevicemotionlistener alistener ); parameters alistener the nsidevicemotionlistener object to which no further
updates should be sent.
nsIEditorSpellCheck
ing); void removewordfromdictionary(in wstring word); void replaceword(in wstring misspelledword, in wstring replaceword, in boolean alloccurrences); void savedefaultdictionary(); obsolete since gecko 9.0 void setcurrentdictionary(in astring dictionary); void setfilter(in nsitextservicesfilter filter); void uninitspellchecker(); void
updatecurrentdictionary(); methods addwordtodictionary() adds the specified word to the current personal dictionary.
...
updatecurrentdictionary()
updates the dictionary in use to be sure it corresponds to what the editor needs.
... void
updatecurrentdictionary(); parameters none.
... remarks prior to gecko 9.0 (firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), this method took one parameter, a reference to the nsieditor for which to
update the spell checker.
nsIFile
much of the documentation has not been
updated to reflect this change.
... note: if this method succeeds, this instance will be
updated to point to the new file.
...[native character encoding variant] note: if this method succeeds, this instance will be
updated to point to the new file.
... this method is identical to moveto except that if this file or directory is moved to a a different volume, it fails and if this method succeeds, this instance will not
updated to point to the new file.
nsIGeolocationProvider
after startup() is called, any geo location change should call callback.
update().
... the nsigeolocationprovider interface provides information about the current users location to interested parties via nsigeolocation
update.
...method overview boolean isready(); obsolete since gecko 1.9.2 void shutdown(); void startup(); void watch(in nsigeolocation
update callback); methods isready() obsolete since gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) reports whether or not the device is ready and has a position.
...void watch( in nsigeolocation
update callback ); parameters callback an nsigeolocation
update to be notified when position changes.
nsIMicrosummary
6.0 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void addobserver(in nsimicrosummaryobserver observer); boolean equals(in nsimicrosummary aother); void removeobserver(in nsimicrosummaryobserver observer); void
update(); attributes attribute type description content astring the content of the microsummary.
...
updateinterval long the minimum interval after which this microsummary would like to be refreshed or null if it doesn't care.
...
update()
update the microsummary, first loading its generator and page content as necessary.
...void
update(); see also microsummary topics creating a microsummary ...
nsINavHistoryResultObserver
toolkit/components/places/nsinavhistoryservice.idlscriptable lets clients observe changes to a result as the result
updates itself according to bookmark and history system events.
...the observer can then pause
updates or events until the batch is completed, so that it won't handle the large number of
updates that are about to be notified.
... this is especially useful when updating user interfaces, to avoid flicker or continuous selection changes, which may result in performance degradation (for example, if updating a view for each
update).
...for trees, for example, this would
update the column headers to reflect the sorting.
nsISelectionPrivate
this page wasn't
updated since the initial import in 2011.
...e 0 tableselection_cell 1 tableselection_row 2 tableselection_column 3 tableselection_table 4 tableselection_allcells 5 methods addselectionlistener() void addselectionlistener( in nsiselectionlistener newlistener ); parameters newlistener endbatchchanges() will resume user interface
updates after a previous call to startbatchchanges().
... void settextrangestyle( in nsidomrange range, in consttextrangestyleref textrangestyle ); parameters range textrangestyle startbatchchanges() will stop user interface
updates while multiple selection methods are called.
... call endbatchchanges() to resume user interface
updates.
nsIWinAppHelper
method overview void fixreg(); obsolete since gecko 1.9 void post
update(in nsilocalfile logfile); obsolete since gecko 1.9.2 attributes attribute type description usercanelevate boolean read only.
... post
update() obsolete since gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) invokes helper.exe with the /post
update parameter.
... this
updates the uninstallation log so that the application can be uninstalled correctly after an
update.
... void post
update( in nsilocalfile logfile ); parameters logfile the file to use for the uninstallation log.
nsIXPConnect
tionthistranslator(in nsiidref aiid, in nsixpcfunctionthistranslator atranslator); void setreportalljsexceptions(in boolean reportalljsexceptions); void setsafejscontextforcurrentthread(in jscontextptr cx); void setsecuritymanagerforjscontext(in jscontextptr ajscontext, in nsixpcsecuritymanager amanager, in pruint16 flags); void syncjscontexts(); void
updatexows(in jscontextptr ajscontext, in nsixpconnectwrappednative aobject, in pruint32 away); native code only!
... deferreleasesuntilaftergarbagecollection prbool obsolete since gecko 1.9 pendingexception nsiexception constants constant value description init_js_standard_classes 1 << 0 flag_system_global_object 1 << 1 omit_components_object 1 << 2 xpc_xow_clearscope 1 tells
updatexows() to clear the scope of all of the xows it finds.
... exceptions thrown missing exception missing description native code only!
updatexows obsolete since gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
... void
updatexows( in jscontextptr ajscontext, in nsixpconnectwrappednative aobject, in pruint32 away ); parameters ajscontext a context to use to perform js operations.
XPCOM Interface Reference by grouping
loginmanager nsiloginmanagerstorage nsiloginmetainfo history nsiglobalhistory nsiglobalhistory2 nsiglobalhistory3 ssl nsibadcertlistener2 system action nsicancelable application application nsiapplication
updateservice nsiappshell nsiappshellservice nsiappstartup xul nsixulappinfo nsixulruntime nsixultemplatebuilder nsixultemplatequeryprocessor nsixultemplateresult bookmark livemark nsilivemarkserv...
...nsisocketproviderservice nsisockettransport nsisockettransportservice nsisupports nsiuuidgenerator debug nsistackframe device display nsiscreen nsiscreenmanager geolocation nsigeolocationprovider nsigeolocation
update orientation nsiacceleration nsiaccelerationlistener nsiaccelerometer misc nsisound nsiwifimonitor document nsiwebnavigation environment nsienvironment event nsieventlisten...
... windows nsitaskbarpreview nsitaskbarpreviewbutton nsitaskbarpreviewcontroller nsitaskbarprogress nsitaskbartabpreview nsitaskbarwindowpreview nsiwintaskbar nsialertsservice nsiwebprogress nsiwebprogresslistener nsiwebprogresslistener2
update nsi
update nsi
updatechecker nsi
updatechecklistener nsi
updateitem nsi
updatemanager nsi
updatepatch nsi
updateprompt nsi
updatetimermanager nsiprogramminglanguage thunderbird credentials nsimsgaccountmanagerextension element nsieditormailsupport ...
... message nsidbchangeannouncer nsidbchangelistener nsimessenger nsimsgcompfields nsimsgcustomcolumnhandler nsimsgdatabase nsimsgdbhdr nsimsgdbview nsimsgdbviewcommand
updater nsimsgfolder nsimsgidentity nsimsgmessageservice nsimsgsendlater nsimsgthread nsimsgwindow nsimsgwindowcommands user history nsibrowserhistory nsibrowsersearchservice nsimicrosummary nsimicrosummarygenerator nsimicrosummaryobserver nsimicrosummaryservice nsimicrosummaryset ...
Mozilla
creating a spell check dictionary add-on this page describes how to package a hunspell spell check dictionary as a firefox add-on, or how to
update your existing add-on, so that it can be installed, uninstalled and
updated without a restart.
... setting up an
update server the goal of this document is to provide instructions for installing a locally-served firefox
update.
...this format is used by the extension manager, software
update, and other parts of the platform.
...the
updated prompt documentation can be found in the firefox source docs.
Frame rate - Firefox Developer Tools
a frame rate of 60fps is the target for smooth performance, giving you a time budget of 16.7ms for all the
updates needed in response to some event.
... in web performance, a frame encapsulates the work the browser needs to do in order to
update and repaint the screen.
... similarly, if scrolling through a page involves a lot of complex page
updates and the browser can't keep up an acceptable frame rate, scrolling the page will appear sluggish or will occasionally freeze.
... a frame rate of 60fps is reckoned to be the target for smooth performance, giving you a time budget of 16.7ms for all the
updates that need to be made synchronously in response to some event.
Waterfall - Firefox Developer Tools
rendering waterfall one pattern that you'll often see in the waterfall view is something like this: this is a visualization of the basic algorithm the browser uses to
update the page in response to some event: javascript function call: some event - for example, a dom event - causes some javascript in the page to run.
... this sequence needs to fit into a single frame, since the screen isn't
updated until it is complete.
... importantly for responsiveness, the browser doesn't always have to go through every step: css animations
update the page without having to run any javascript.
... blocking javascript by default, a site's javascript is executed in the same thread that the browser uses for layout
updates, repaints, dom events, and so on.
Ajax navigation example - Web APIs
function ajaxerror () { alert("unknown error."); } function ajaxload () { var vmsg, nstatus = this.status; switch (nstatus) { case 200: vmsg = json.parse(this.responsetext); document.title = opageinfo.title = vmsg.page; document.getelementbyid(stargetid).innerhtml = vmsg.content; if (b
updateurl) { history.pushstate(opageinfo, opageinfo.title, opageinfo.url); b
updateurl = false; } break; default: vmsg = nstatus + ": " + (ohttpstatus[nstatus] || "unknown"); switch (math.floor(nstatus / 100)) { /* case 1: // i...
... bisloading = true; oreq.onload = ajaxload; oreq.onerror = ajaxerror; if (spage) { opageinfo.url = filterurl(spage, null); } oreq.open("get", filterurl(opageinfo.url, "json"), true); oreq.send(); oloadingbox.parentnode || document.body.appendchild(oloadingbox); } function requestpage (surl) { if (history.pushstate) { b
updateurl = true; getpage(surl); } else { /* ajax navigation is not supported */ location.assign(surl); } } function processlink () { if (this.classname === sajaxclass) { requestpage(this.href); return false; } return true; } function init () { opageinfo.title = document.title; ...
...available", 504: "gateway timeout", 505: "http version not supported", 506: "variant also negotiates (experimental)", 507: "insufficient storage", 508: "loop detected", 509: "unassigned", 510: "not extended", 511: "network authentication required" }; var oreq, bisloading = false, b
updateurl = false; oloadingbox.id = "ajax-loader"; ocover.onclick = abortreq; oloadingimg.src = "data:image/gif;base64,r0lgodlheaaqapiaap///waaamlcwkjcqgaaagjiyokcgpkskih/c05fvfndqvbfmi4waweaaaah/hpdcmvhdgvkihdpdgggywphegxvywquaw5mbwah+qqjcgaaacwaaaaaeaaqaaadmwi63p4wyklre2mioggznadomgyjrbexwroumcg2lmdewnhqlvsyod2mbzkydadka+diaaah+qqjcgaaacwaaaaaeaaqaaadnai63p5ojcegg4qmu7dmikrxqlfuydezigbmrv...
...mwi6imkqorfjdoe82p4wgccc4ceuqradylesojembgsuc2g7sdx3lqgbmlajibufbslkaaah+qqjcgaaacwaaaaaeaaqaaadmgi63p7wcrhznfvdmghu2nfwlwci3wgc3tswhufgxtaukgcbtgenbmjaejsxgmlwzpeaach5bakkaaaalaaaaaaqabaaaamyclrc/jdksatlqtsckdcecajdii7hcq4emtcpyrcuubjcyrghvtqlaib1yhicnlsrkaaaowaaaaaaaaaaaa=="; ocover.appendchild(oloadingimg); oloadingbox.appendchild(ocover); onpopstate = function (oevent) { b
updateurl = false; opageinfo.title = oevent.state.title; opageinfo.url = oevent.state.url; getpage(); }; window.addeventlistener ?
Checking when a deadline is due - Web APIs
//
update the display of data to show the newly added item, by running displaydata() again.
... displaydata(); }; last of all, we run the displaydata() function, which
updates the display of data in the app to show the new task that was just entered.
...when a notification is fired for each item object, its notification property is set to "yes" so this check will not pass on the next iteration, via the following code inside the createnotification() function (read using indexeddb for an explanation): // now we need to
update the value of notified to "yes" in this particular data object, so the // notification won't be set off on it again // first open up a tranaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as it's title var request = objectstore.get(title); request.onsuccess = function() {...
... // grab the data object returned as the result var data = request.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item back into the database var request
update = objectstore.put(data); // when this new request succeeds, run the displaydata() function again to
update the display request
update.onsuccess = function() { displaydata(); } if the checks all match, we then run the createnotification() function to provide a notification to the user.
Key Values - Web APIs
if you wish to identify which specific dead key was pressed (in cases where more than one exists), you can do so by examining the keyboardevent's associated composition
update event's data property.
...you can identify which specific dead key was used (if more than one exists) by examining the keyboardevent's associated composition
update event's data property.
...in firefox 49 they were
updated to match the latest specification.
...firefox 49 has been
updated to match the latest specification, and to return "launchmediaplayer".
MouseEvent.pageX - Web APIs
see browser compatibility to learn which browsers have been
updated to use the revised data type.
... javascript var box = document.queryselector(".box"); var pagex = document.getelementbyid("x"); var pagey = document.getelementbyid("y"); function
updatedisplay(event) { pagex.innertext = event.pagex; pagey.innertext = event.pagey; } box.addeventlistener("mousemove",
updatedisplay, false); box.addeventlistener("mouseenter",
updatedisplay, false); box.addeventlistener("mouseleave",
updatedisplay, false); the javascript code uses addeventlistener() to register the function
updatedisplay() as the event handler for the mousemove, mouseenter, and...
...
updatedisplay() simply replaces the contents of the <span> elements meant to contain the x and y coordinates with the values of pagex and pagey.
...those will be
updated each time an event occurs to contain the latest mouse coordinates relative to the page.
PaymentRequest: paymentmethodchange event - Web APIs
the code assumes the existence of a method detailsforshipping(), which returns a paymentdetails
update object containing the shipping options for the ground shipping method, in the form found in the paymentshippingoption dictionary.
..., detailsforshipping("ground"), options); paymentrequest.addeventlistener("paymentmethodchange", handlepaymentchange, false); paymentrequest.show() .then(response => response.complete("success")) .catch(err => console.log("error handling payment request: " + err)); the event handler function itself, handlepaymentchange(), looks like this: handlepaymentchange = event => { const details
update = {}; if (event.methodname === "https://apple.com/apple-pay") { const servicefeeinfo = calculateservicefee(event.methoddetails); object.assign(details
update, servicefeeinfo); } event.
updatewith(details
update); }, false); this begins by looking at the event's methodname property; if that indicates that the user is trying to use apple pay, we pass the methoddetails into a function...
... called calculateservicefee(), which we might create to take the information about the transaction, such as the underlying credit card being used to service the apple pay request, and compute and return an paymentdetails
update object that specifies changes to be applied to the paymentrequest in order to add any service fees that the payment method might require.
... before the event handler returns, it calls the event's paymentmethodchangeevent.
updatewith.
updatewith() method to integrate the changes into the request.
PaymentRequest: shippingoptionchange event - Web APIs
bubbles no cancelable no interface paymentrequest
updateevent event handler property onshippingoptionchange examples this code snippet sets up a handler for the shippingoptionchange event.
... paymentrequest.addeventlistener("shippingoptionchange", event => { const value = calculatenewtotal(paymentrequest.shippingoption); const total = { currency: "eur", label: "total due", value, }; event.
updatewith({ total }); }, false); after caling a custom function, calculatenewtotal(), to compute the
updated total based on the newly-selected shipping option as specified by the shippingoption.
... the revised total is submitted back to the payment request by calling the event's
updatewith() method.
... you can also create an event handler for shippingoptionchange using its corresponding event handler property, onshippingoptionchange: paymentrequest.onshippingoptionchange = event => { const value = calculatenewtotal(paymentrequest.shippingoption); const total = { currency: "eur", label: "total due", value, }; event.
updatewith({ total }); }; specifications specification status comment payment request apithe definition of 'shippingoptionchange' in that specification.
Pointer Lock API - Web APIs
if so, it attached an event listener to handle the mouse movements with the
updateposition() function.
... function lockchangealert() { if (document.pointerlockelement === canvas || document.mozpointerlockelement === canvas) { console.log('the pointer lock status is now locked'); document.addeventlistener("mousemove",
updateposition, false); } else { console.log('the pointer lock status is now unlocked'); document.removeeventlistener("mousemove",
updateposition, false); } } the
updateposition() function
updates the position of the ball on the canvas (x and y), and also includes if() statements to check whether the ball has gone off the edges of the canvas.
...it also includes a check whether a requestanimationframe() call has previously been made, and if so, calls it again as required, and calls the canvasdraw() function that
updates the canvas scene.
... var tracker = document.getelementbyid('tracker'); var animation; function
updateposition(e) { x += e.movementx; y += e.movementy; if (x > canvas.width + radius) { x = -radius; } if (y > canvas.height + radius) { y = -radius; } if (x < -radius) { x = canvas.width + radius; } if (y < -radius) { y = canvas.height + radius; } tracker.textcontent = "x position: " + x + ", y position: " + y; if (!animation) { animation = requestanimationframe(function() { animation = null; canvasdraw(); }); } } the canvasdraw() function draws the ball in the current x and y positions: function canvasdraw() { ctx.fillstyle = "black"; ctx.fillrect(0, 0, canvas.wid...
SVGAngle - Web APIs
the associated element is used to determine which element's content attribute to
update if the object reflects an attribute.
...setting this attribute will cause valueinspecifiedunits and valueasstring to be
updated automatically to reflect this setting.
...setting this attribute will cause value and valueasstring to be
updated automatically to reflect this setting.
...setting this attribute will cause value, valueinspecifiedunits, and unittype to be
updated automatically to reflect this setting.
Multi-touch interaction - Web APIs
ev.preventdefault(); // cache the touch points for later processing of 2-touch pinch/zoom if (ev.targettouches.length == 2) { for (var i=0; i < ev.targettouches.length; i++) { tpcache.push(ev.targettouches[i]); } } if (logevents) log("touchstart", ev, true);
update_background(ev); } touch move handler the touchmove handler calls preventdefault() for the same reason mentioned above, and invokes the pinch/zoom handler.
... // ev.preventdefault(); if (logevents) log("touchmove", ev, false); // to avoid too much color flashing many touchmove events are started, // don't
update the background if two touch points are active if (!(ev.touches.length == 2 && ev.targettouches.length == 2))
update_background(ev); // set the target element's border to dashed to give a clear visual // indication the element received a move event.
...
update background color the background color of the touch areas will change as follows: no touch is white; one touch is yellow; two simultaneous touches is pink, and three or more simultaneous touches is lightblue.
... function
update_background(ev) { // change background color based on the number simultaneous touches // in the event's targettouches list: // yellow - one tap (or hold) // pink - two taps // lightblue - more than two taps switch (ev.targettouches.length) { case 1: // single tap` ev.target.style.background = "yellow"; break; case 2: // two simultaneous touches ev.target.style.background = "pink"; break; default: // more than two simultaneous touches ev.target.style.background = "lightblue"; } } event logging the functions are used to log event activity to the application window, to support debugging and learning about th...
Signaling and video calling - Web APIs
to allow the server to support signaling and ice negotiation, we need to
update the code.
...the next task is to
update the main websocket message handler to support doing so.
... let's
update the chat client to support video calling.
... note: obviously, it would be more efficient to
update the list by adding and removing individual users instead of rebuilding the whole list every time it changes, but this is good enough for the purposes of this example.
A simple RTCDataChannel sample - Web APIs
these handlers can do whatever's needed, but in this example, all we need to do is
update the user interface: function handlelocaladdcandidatesuccess() { connectbutton.disabled = true; } function handleremoteaddcandidatesuccess() { disconnectbutton.disabled = false; } the only thing we do here is disable the "connect" button when the local peer is connected and enable the "disconnect" button when the remote peer connects.
...the user interface is
updated correspondingly by enabling the text input box for the message to send, focusing the input box so that the user can immediately begin to type, enabling the "send" and "disconnect" buttons, now that they're usable, and disabling the "connect" button, since it is not needed when the conneciton is open.
... sendchannel.close(); receivechannel.close(); // close the rtcpeerconnections localconnection.close(); remoteconnection.close(); sendchannel = null; receivechannel = null; localconnection = null; remoteconnection = null; //
update user interface elements connectbutton.disabled = false; disconnectbutton.disabled = true; sendbutton.disabled = true; messageinputbox.value = ""; messageinputbox.disabled = true; } this starts by closing each peer's rtcdatachannel, then, similarly, each rtcpeerconnection.
... then all the saved references to these objects are set to null to avoid accidental reuse, and the user interface is
updated to reflect the fact that the connection has been closed.
Using DTMF with WebRTC - Web APIs
each time a tone is sent, the rtcpeerconnection receives a tonechange event with a tone property specifying which tone finished playing, which is an opportunity to
update interface elements, for example.
...although this method is obsolete, this example supports it as a fallback to let older browsers (and those not yet
updated to support the current webrtc dtmf api) run the example.
...in a more advanced application, you might
update the user interface, for example, to indicate which note is currently playing.
...as explained in starting the connection process, the current webrtc specification uses the track event for this, but some browsers haven't been
updated to support this yet, so we also need to handle the addstream event.
Window.devicePixelRatio - Web APIs
tx.font = '18px arial'; ctx.textalign = 'center'; ctx.textbaseline = 'middle'; var x = size / 2; var y = size / 2; var textstring = "i love mdn"; ctx.filltext(textstring, x, y); monitoring screen resolution or zoom level changes in this example, we'll set up a media query and watch it to see when the device resolution changes, so that we can check the value of devicepixelratio to handle any
updates we need to.
... let pixelratiobox = document.queryselector(".pixel-ratio"); let mqstring = `(resolution: ${window.devicepixelratio}dppx)`; const
updatepixelratio = () => { let pr = window.devicepixelratio; let prstring = (pr * 100).tofixed(0); pixelratiobox.innertext = `${prstring}% (${pr.tofixed(2)})`; }
updatepixelratio(); matchmedia(mqstring).addlistener(
updatepixelratio); the string mqstring is set up to be the media query itself.
... the
updatepixelratio() function fetches the current value of devicepixelratio, then sets the innertext of the element pixelratiobox to a string which displays the ratio both as a percentage and as a raw decimal value with up to two decimal places.
... then the
updatepixelratio() function is called once to display the starting value, after which the media query is created using matchmedia() and addeventlistener() is called to set up
updatepixelratio() as a handler for the change event.
Using XMLHttpRequest - Web APIs
load the transfer is complete; all data is now in the response var oreq = new xmlhttprequest(); oreq.addeventlistener("progress",
updateprogress); oreq.addeventlistener("load", transfercomplete); oreq.addeventlistener("error", transferfailed); oreq.addeventlistener("abort", transfercanceled); oreq.open(); // ...
... // progress on transfers from the server to the client (downloads) function
updateprogress (oevent) { if (oevent.lengthcomputable) { var percentcomplete = oevent.loaded / oevent.total * 100; // ...
... the progress event handler, specified by the
updateprogress() function in this example, receives the total number of bytes to transfer as well as the number of bytes transferred so far in the event's total and loaded fields.
...the upload events are fired on the xmlhttprequest.upload object, as shown below: var oreq = new xmlhttprequest(); oreq.upload.addeventlistener("progress",
updateprogress); oreq.upload.addeventlistener("load", transfercomplete); oreq.upload.addeventlistener("error", transferfailed); oreq.upload.addeventlistener("abort", transfercanceled); oreq.open(); note: progress events are not available for the file: protocol.
An overview of accessible web applications and widgets - Accessibility
stock tickers, live twitter feed
updates, progress indicators, and similar content modify the dom in ways that an assistive technology (at) may not be aware of.
...attribute-based selector for indicating state div.tooltip[aria-hidden="true"] { display: none; } the javascript to
update the aria-hidden property has the form shown in example 2c.
... note that the script only
updates the aria-hidden attribute (line 2); it does not need to also add or remove a custom classname.
...javascript to
update the aria-checked attribute var showtip = function(el) { el.setattribute('aria-hidden', 'false'); } role changes aria allows developers to declare a semantic role for an element that otherwise offers incorrect or no semantics.
transition-delay - CSS: Cascading Style Sheets
; -webkit-transition-property: width height background-color font-size left top color; -webkit-transition-duration:2s; -webkit-transition-delay:0.5s; -webkit-transition-timing-function: linear; transition-property: width height background-color font-size left top color; transition-duration:2s; transition-delay:0.5s; transition-timing-function: linear; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-delay: 1s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height:125px;} .b...
...olute; -webkit-transition-property: width height background-color font-size left top color; -webkit-transition-duration:2s; -webkit-transition-delay:1s; -webkit-transition-timing-function: linear; transition-property: width height background-color font-size left top color; transition-duration:2s; transition-delay:1s; transition-timing-function: linear; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-delay: 2s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height:125px;} .b...
...olute; -webkit-transition-property: width height background-color font-size left top color; -webkit-transition-duration:2s; -webkit-transition-delay:2s; -webkit-transition-timing-function: linear; transition-property: width height background-color font-size left top color; transition-duration:2s; transition-delay:2s; transition-timing-function: linear; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-delay: 4s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height:125px;} .b...
... -webkit-transition-property: width height background-color font-size left top color; -webkit-transition-duration:2s; -webkit-transition-delay:4s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top color; transition-duration:2s; transition-delay:4s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); specifications specification status comment css transitionsthe definition of 'transition-delay' in ...
transition-duration - CSS: Cascading Style Sheets
ebkit-transition-property: width height background-color font-size left top transform -webkit-transform color; -webkit-transition-duration:0.5s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transformv color; transition-duration:0.5s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-duration: 1s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height:125px;}...
... -webkit-transition-property: width height background-color font-size left top -webkit-transform transform color; -webkit-transition-duration:1s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transform color; transition-duration:1s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-duration: 2s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height:125px;}...
... -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color; -webkit-transition-duration:2s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transform color; transition-duration:2s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); transition-duration: 4s <div class="parent"> <div class="box">lorem</div> </div> .parent { width: 250px; height:125px;}...
... -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color; -webkit-transition-duration:4s; -webkit-transition-timing-function: ease-in-out; transition-property: width height background-color font-size left top transform -webkit-transform color; transition-duration:4s; transition-timing-function: ease-in-out; } function
updatetransition() { var el = document.queryselector("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(
updatetransition, 7000); specifications specification status comment css transitionsthe definition of 'transition-duration' ...
Getting Started - Developer guides
ajax’s most appealing characteristic is its "asynchronous" nature, which means it can communicate with the server, exchange data, and
update the page without having to refresh the page.
...you can see the test.xml here and the
updated test script here.
...the idea would be that a server-side script of some kind would continually
update the text file with new timestamps, and our xhr code would be used to report the latest timestamp on the client-side.
...tml> <html> <head> <meta charset="utf-8"> <title>xhr log time</title> <style> </style> </head> <body> <p id="writedata" class="data">off-line</p> <p id="laststamp">no data yet</p> <script> const fulldata = document.getelementbyid('writedata'); const lastdata = document.getelementbyid('laststamp'); function 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 systems always include a blank line at the end of text f...
Cross-browser audio basics - Developer guides
time
update the time
update event is triggered every time the currenttime property changes.
... myaudio.addeventlistener("time
update", function() { //
update something related to playback progress }); playing the playing event is initiated when playback is ready to start after having being paused due to lack of media data.
... displaycontrols(); }); } play.addeventlistener('click', function() { myaudio.play(); play.style.display = "none"; pause.style.display = "block"; }); pause.addeventlistener('click', function() { myaudio.pause(); pause.style.display = "none"; play.style.display = "block"; }); // display progress myaudio.addeventlistener('time
update', function() { //sets the percentage bar.style.width = parseint(((myaudio.currenttime / myaudio.duration) * 100), 10) + "%"; }); } you should end up with something like this: seeking using the seek bar this is a good start, but it would be nice to be able to navigate the audio using the progress bar.
... first of all, we apply a quick
update to the progress bar css to display the hand pointer on hover: #progress { margin-left: 80px; border: 1px solid black; cursor: pointer; } then we add the code that detects the click and moves the 'playhead' to the correct position: var progress = document.getelementbyid('progress'); progress.addeventlistener('click', function(e) { // calculate the normalized position clicked var clickposition = (e.pagex - this.offsetleft) / this.offsetwidth; var clicktime = clickposition * myaudio.duration; // move the playhead to the correct position myaudio.currenttime = clicktime; }); buffering ok, we're getting there, but there is another piece of useful information we can display: the amount...
<hgroup> - HTML: Hypertext Markup Language
dary heading (and with the same or similar punctuation before any other secondary headings an <hgroup> might be shown in a rendered outline in with the primary heading followed by parentheses around the secondary heading(s) consider the following html document: <!doctype html> <title>html standard</title> <body> <hgroup id="document-title"> <h1>html</h1> <h2>living standard — last
updated 12 august 2016</h2> </hgroup> <p>some intro to the document.</p> <h2>table of contents</h2> <ol id=toc>...</ol> <h2>first section</h2> <p>some intro to the first section.</p> </body> a rendered outline for that document might look like the following: that is, the rendered outline might show the primary title, html, followed by a colon and space, followed by the secondary title, l...
...iving standard — last
updated 12 august 2016.
... or, the rendered outline for that document might instead look like the following: that is, the rendered outline might show the primary title, html, followed by the secondary title shown in parentheses: (living standard — last
updated 12 august 2016).
... examples <hgroup id="document-title"> <h1>html</h1> <h2>living standard — last
updated 12 august 2016</h2> </hgroup> specifications specification status comment html living standardthe definition of '<hgroup>' in that specification.
<input type="file"> - HTML: Hypertext Markup Language
the event listener invokes our custom
updateimagedisplay() function.
... input.addeventlistener('change',
updateimagedisplay); whenever the
updateimagedisplay() function is invoked, we: use a while loop to empty the previous contents of the preview <div>.
... function
updateimagedisplay() { while(preview.firstchild) { preview.removechild(preview.firstchild); } const curfiles = input.files; if(curfiles.length === 0) { const para = document.createelement('p'); para.textcontent = 'no files currently selected for upload'; preview.appendchild(para); } else { const list = document.createelement('ol'); preview.appendchild(list); for(c...
...
update your selection.`; listitem.appendchild(para); } list.appendchild(listitem); } } } the custom validfiletype() function takes a file object as a parameter, then uses array.prototype.includes() to check if any value in the filetypes matches the file's type property.
Browser detection using the user agent - HTTP
another such case is for fixing bugs in browsers that do not automatically
update.
...webkit is a bit worse because apple forces all of the browsers on ios to use webkit internally, thus the user has no way to get a better more
updated browser on older devices.
... var ua=navigator.useragent, iswebkit=/\b(ipad|iphone|ipod)\b/.test(ua) && /webkit/.test(ua) && !/edge/.test(ua) && !window.msstream; var mediaquery
updated = true, mql = []; function whenmediachanges(){mediaquery
updated = true} var listentomediaquery = iswebkit ?
...r (var i=0,len=mql.length|0; i<len; i=i+1|0) if (mql[i][0] === mq) mql.splice(i, 1); mq.removelistener(whenmediachanges); } : listentomediaquery; var orientationchanged = false; addeventlistener("orientationchange", function(){ orientationchanged = true; }, passive_listener_option); addeventlistener("resize", settimeout.bind(0,function(){ if (orientationchanged && !mediaquery
updated) for (var i=0,len=mql.length|0; i<len; i=i+1|0) mql[i][1]( mql[i][0] ); mediaquery
updated = orientationchanged = false; },0)); which part of the user agent contains the information you are looking for?
Animation performance and frame rate - Web Performance
for a rate of 60 frames per second, the browser has 16.7 milliseconds to execute scripts, recalculate styles and layout if needed, and repaint the area being
updated.
... the process a browser uses to paint
updated changes to a canvas element is different.
... when a canvas is animating a drawing, the canvas animation can be described as a waterfall consisting of the following steps: these sequenced need to fit into a single frame, since the screen isn't
updated until it is complete.
... color properties that are rendered in their own layer don't even trigger a repaint, because the
update is handled in composition.
Example - SVG: Scalable Vector Graphics
xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"> <head> <title>a swarm of motes</title> <style type='text/css'> <![cdata[ label, input { width: 150px; display: block; float: left; margin-bottom: 10px; } label { text-align: right; width: 75px; padding-right: 20px; } br { clear: left; } ]]> </style> </head> <body onload='
update()'> <svg:svg id='display' width='400' height='300'> <svg:circle id='cursor' cx='200' cy='150' r='7' fill='#0000ff' fill-opacity='0.5'/> </svg:svg> <p>a swarm of motes, governed by two simple principles.
... mote.prototype.capposition = function() { var dims = dimensions(); if( this.x < 0 ) this.x = 0; else if( this.x >= dims[0] ) this.x = dims[0]-1; if( this.y < 0 ) this.y = 0; else if( this.y >= dims[1] ) this.y = dims[1]-1; } // mote::move() -- move a mote,
update the screen.
...elt.setattributens(null,'stroke','green'); this.elt.setattributens(null,'stroke-width','3'); this.elt.setattributens(null,'stroke-opacity','0.5'); display().appendchild( this.elt ); } this.elt.setattributens(null,'x1',old_x); this.elt.setattributens(null,'y1',old_y); this.elt.setattributens(null,'x2',this.x); this.elt.setattributens(null,'y2',this.y); } function
update() { // first call?
... if( num == 0 ) motes = []; else if( motes.length > num ) motes = motes.slice(0,num-1); // move a random mote if( motes.length > 0 ) motes[ rand( motes.length ) ].move(); // and do this again in 1/100 sec settimeout('
update()', 10); } ]]> </script> </body> </html> ...
Using custom elements - Web Components
/custom-square> the class constructor is really simple — here we attach a shadow dom to the element, then attach empty <div> and <style> elements to the shadow root: const shadow = this.attachshadow({mode: 'open'}); const div = document.createelement('div'); const style = document.createelement('style'); shadow.appendchild(style); shadow.appendchild(div); the key function in this example is
updatestyle() — this takes an element, gets its shadow root, finds its <style> element, and adds width, height, and background-color to the style.
... function
updatestyle(elem) { const shadow = elem.shadowroot; shadow.queryselector('style').textcontent = ` div { width: ${elem.getattribute('l')}px; height: ${elem.getattribute('l')}px; background-color: ${elem.getattribute('c')}; } `; } the actual
updates are all handled by the life cycle callbacks, which are placed inside the class definition as methods.
... the connectedcallback() runs each time the element is added to the dom — here we run the
updatestyle() function to make sure the square is styled as defined in its attributes: connectedcallback() { console.log('custom square element added to page.');
updatestyle(this); } the disconnectedcallback() and adoptedcallback() callbacks log simple messages to the console to inform us when the element is either removed from the dom, or moved to a different page: disconnectedcallback() { console.log('custom square element removed from page.'); } adoptedcallback() { console.log('custom square element moved to new page.'); } the attributechangedcallback() callback is run whenever one of the element's attributes is changed in some way.
...in this case however, we are just running the
updatestyle() function again to make sure that the square's style is
updated as per the new values: attributechangedcallback(name, oldvalue, newvalue) { console.log('custom square element attributes changed.');
updatestyle(this); } note that to get the attributechangedcallback() callback to fire when an attribute changes, you have to observe the attributes.
Displaying annotations - Archive of obsolete content
then in the module's scope implement a function to
update the matcher's workers, and edit handlenewannotation to call this new function when the user enters a new annotation: function
updatematchers() { matchers.foreach(function (matcher) { matcher.postmessage(simplestorage.storage.annotations); }); } function handlenewannotation(annotationtext, anchor) { var newannotation = new annotation(annotationtext, anchor); simplestorage.storage.ann...
...otations.push(newannotation);
updatematchers(); } annotation panel the annotation panel just shows the content of an annotation.
... updating main.js finally,
update main.js with the code to construct the annotation panel: var annotation = panels.panel({ width: 200, height: 180, contenturl: data.url('annotation/annotation.html'), contentscriptfile: [data.url('jquery-1.4.2.min.js'), data.url('annotation/annotation.js')], onshow: function() { this.postmessage(this.content); } }); execute cfx run one last time.
Localization - Archive of obsolete content
locale
updater the locale
updater add-on makes it easier to
update locale files.
... once you've installed it, open the add-on manager, and you'll see a new button labeled "
update l10n" next to each add-on you've installed: click the button and you'll be prompted for a new .properties file for that add-on.
... if you provide a new file, the add-on's locale data will be
updated with the new file.
JavaScript Daemons Management - Archive of obsolete content
if the rate property has been changed, the daemon will be
updated with the new rate value.
...if the daemon was running in the same direction, only the reversals property will be possibly
updated.
...if the daemon is running it will be immediately
updated with the new property.
Multiple item extension packaging - Archive of obsolete content
<rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:nc="http://home.netscape.com/nc-rdf#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- nsi
updateitem type for a multiple item package --> <em:type nc:parsetype="integer">32</em:type> ...
...<rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- nsi
updateitem type for a multiple item package --> <em:type>32</em:type> ...
...if this is not done, any items that are not compatible will not be installed unless a compatibility check discovers
updated compatibility information.
Adding menus and submenus - Archive of obsolete content
menu items are not dynamically
updated while they are open.
... for example, you could have a menuitem that tells you the current time and is
updated every second.
... on other systems you would be able to see the item
update itself without having to close the menu and then reopen.
Useful Mozilla Community Sites - Archive of obsolete content
one of the main advantages of using amo is that it handles
updates automatically for published add-ons.
... you just need to upload a new version of your extension, and once it's approved it will be pushed as an
update to all your users.
... if you decide to host your own extension, you'll have to learn about the
update system in order to push your own
updates.
Index of archived content - Archive of obsolete content
an extension developing add-ons displaying web content in an extension without security issues downloading json and javascript in extensions enhanced extension installation extension etiquette extension library extension packaging extension samples extension theming guidelines extension versioning,
update and compatibility extensions support in seamonkey 2 firefox addons developer guide hiding browser chrome hotfix extension how to convert an overlay extension to restartless inline options install manifests installing extensions and themes from web pages interaction between privileged and non-privileged pages...
... install script template xpinstall api reference examples file.macalias file.windowsshortcut install.adddirectory install.addfile installtrigger.installchrome installtrigger.startsoftware
update trigger scripts and install scripts windows install file object methods install object methods properties ...
...df engine extending gecko with xbl and xtf mozilla e4x rich web svg and canvas in mozilla xul - mozilla's xml user interface language xtech 2006 presentations xul explorer xulrunner application
update article building xulrunner building xulrunner with python commandline components creating xulrunner apps with the mozilla build system creating a windows inno setup installer for xulrunner applications custom app bundles for mac os x debugging a xulrunner application deploying x...
List of Former Mozilla-Based Applications - Archive of obsolete content
eveloped name description additional information aphrodite browser inactive aol client for mac internet software no longer available beonex communicator internet software last news item on site from 2004 chameleon theme builder inactive civil netizen p2p file delivery (email attachment replacement) site not
updated since 2006 compuserve client internet software no longer available doczilla sgml/xml/html browser last release on site from july 2005 fabula language learning application inactive galeon browser last news item on site from september 2006 gencatrss rss reader domain switched over to domain parking service ghostzil...
...net computers no longer available hp printer assistant printer utility hall of fame page mentions that this used an embedded version of mozilla at some point but i can't find reference to current status (may still be using mozilla code?) icebrowser java browser sdk uses mozilla rhino --eol'ed in 2009 (jin'sync) office app launcher download page last
updated on 12/21/06 kylix compiler and integrated development environment borland discontinued this product.
...er project pogo browser from at&t site no longer accessible as of may 2009 pyro desktop desktop environment last news item on site from july 2007 script editor editor inactive skipstone gtk+ browser last news item on site from february 2008 xabyl visual xbl editor inactive xulplayer media player last project
update on 3/14/09 zoomcreator photo collage tool on april 29, 2010 the site announced zoomara was shutting down.
List of Mozilla-Based Applications - Archive of obsolete content
if you have information about a new project or extra information about an existing project, please feel free to
update this page.
...framework designed for elderly people with dementia but other applications mac os x operating system makes use of some mpl files such as libsecurity_asn1 maemo browser browser for maemo internet tablet development name is microb magooclient business process management tool uses mozilla rhino mantra security tool mccoy secure
update tool for add-ons xulrunner application mediacoder media converter transcoder for video, audio, and even devices such as zen, zune, pocketpcs, ipods, and psps mekhala browser part of the khmeros linux distro midbrowser mobile web browser mockery mockup creation tool built on xulrunner mongodb database project uses spide...
...widgets desktop widgets uses mozilla spidermonkey yoono desktop social networking app standalone version of yoono firefox add-on zap sip client status
update from august 2008 zimbra desktop email and calendar application uses prism zinc video browser according to faq the standalone version is based on firefox zk web application framework makes use of xul zotero reference manager firefox extension and xulrunner application note: this page was previously hosted on mozpad.org and the hist...
Enabling the behavior - updating the status periodically - Archive of obsolete content
now that we have code to retrieve tinderbox status and
update the icon, we need to run it periodically.
... function loadtinderboxstatus() { gxmlhttprequest = new xmlhttprequest(); gxmlhttprequest.onload =
updatetinderboxstatus; gxmlhttprequest.open("get", "http://tinderbox.mozilla.org/seamonkey/panel.html"); gxmlhttprequest.send(null); window.settimeout(loadtinderboxstatus, 60000); } window.settimeout(loadtinderboxstatus, 1000); window.settimeout schedules functions to run at some future time.
...this allows users to get relatively frequent
updates about tinderbox without overloading the tinderbox server or slowing down mozilla with requests.
Block and Line Layout Cheat Sheet - Archive of obsolete content
if you know the answer, please pass it along to me so i can
update the document.
... ll_understandsnwhitespace ll_textstartswithnbsp ll_firstletterstyleok ll_istopofpage ll_
updatedband ll_impactedbyfloaters ll_lastfloaterwasletterframe ll_canplacefloater ll_knowstrictmode ll_instrictmode ll_lineendsinbr perframedata (why isn't this just stored in the frame?) mflags pfd_relativepos pfd_istextframe pfd_isnonemptytextframe pfd_isnonwhitespacetextframe pfd_isletterframe pfd_issticky pfd_isbullet perspandata in nslinelayout, a "span" is a con...
... original document information author(s): chris waterson last
updated date: december 4, 2004 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Building Firefox with Rust code - Archive of obsolete content
if you don't have rust already, use the rustup tool to install it and
update as new releases become available, or use the ./mach bootstrap command.
... cargo.lock files have also been checked in, so you will need to
update those as well when appropriate.
... this works even if you use the existing vendored source location, but be aware that other vendor
updates could clobber your patch in that case.
Simple Storage - Archive of obsolete content
jetpack.future.import("menu");jetpack.future.import("selection");jetpack.future.import("storage.simple");// create the persistent notes array if it doesn't already exist.jetpack.storage.simple.notes = jetpack.storage.simple.notes || [];var notes = jetpack.storage.simple.notes;//
updates the jetpack menu with the current notes.
... if there are no notes, we'll show a// disabled "(empty)" menuitem.function
updatejetpackmenu() { jetpack.menu.set({ label: "notes", menu: new jetpack.menu(notes.length > 0 ?
...:(jetpack.menu.context.page.beforeshow = function (menu) { menu.reset(); if (jetpack.selection.text) menu.add({ label: "note", command: function () { notes.unshift(jetpack.selection.text); if (notes.length > 20) notes.pop();
updatejetpackmenu(); } });};// initialize the jetpack menu with the current notes.
updatejetpackmenu(); see also settings jep 11 ...
Microsummary topics - Archive of obsolete content
in the future, firefox may access source urls to download
updated versions of generators, so unless you are installing generators which are available from urls, you should not use this form for your programmatically-installed generators.
... differentiating between user-initiated and microsummary-related requests when firefox
updates a microsummary generated by a microsummary generator add-on, it automatically downloads the html content of the page being summarized.
... controlling the frequency of microsummary requests when firefox downloads content in order to
update a microsummary, it honors cache-related http response headers.
Modularization techniques - Archive of obsolete content
it was last
updated in 2004.
...this sample code should be
updated to reflect this, but it gives you a good basic understanding of com from the c++ perspective.
... links the component object model specification revision history feb 25, 1998, created oct 19, 1998, dusted off momentarily oct 10, 1999, added comments about xpidl, language-independentness original document information author(s): will scullin last
updated date: september 13, 2004 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details ...
Mozilla Application Framework in Detail - Archive of obsolete content
xpinstall makes it easy to write both simple installation scripts and complex installations that check versions, log installation data to the local system, execute other installers, and
update the appropriate registry settings.
...the mozblog application hosted at mozdev.org, for example, uses xpinstall to make several different versions available simultaneously as
updates are made and the browser itself advances versions.
... original document information author(s): myk melez, ian oeschger original document: http://www.mozilla.org/why/framework-details.html last
updated date: february 15, 2006 copyright information: copyright (c) myk melez, ian oeschger ...
Mozilla Crypto FAQ - Archive of obsolete content
i've
updated this version of the mozilla crypto faq to discuss the situation now that the rsa public key algorithm is in the public domain and a full open source crypto implementation is being added to the mozilla code base.
...department of commerce press release announcing the new regulations as well as the
updated regulations (pdf) themselves.
... original document information author(s): frank hecker last
updated date: september 10, 2000 (version 2.11) copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Standalone XPCOM - Archive of obsolete content
these instructions were last
updated in 2000.
...
update this document for mac.
... api freeze and documentation original document information author: suresh duddi last
updated date: 15 may 2000 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
The life of an HTML HTTP request - Archive of obsolete content
it was last
updated in 1999.
...this is used to create and
update the nsiframe hierarchy.
... original document information author(s): alexander larsson last
updated date: october 8, 1999 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Learn XPI Installer Scripting by Example - Archive of obsolete content
mozilla cross-platform installations use the xpi format as a way to organize, compress, and automate software installations and software
updates.
... minimally, the installation script must: call initinstall with the name and version of the executable (the version is not optional, though you may or may not use the version in subsequent installations or
updates) find somewhere to put the installed files.
... original document information author(s): ian oeschger last
updated date: 01/26/2006 copyright information: copyright (c) ian oeschger ...
Install Scripts - Archive of obsolete content
for example, you may wish to check versions of files and only install
updated files, or perhaps you wish to apply patches to existing files.
...when a new component is installed, the registry gets
updated.
...that way, it is easier to check if a version of your component is already present and only
update it if necessary.
Tree Box Objects - Archive of obsolete content
the tree will call the view to get the
updated data and
update the contents of the tree on screen.
... example 2 : source view <script> function
updatefields(event){ var row = {}, column = {}, part = {}; var tree = document.getelementbyid("thetree"); var boxobject = tree.boxobject; boxobject.queryinterface(components.interfaces.nsitreeboxobject); boxobject.getcellat(event.clientx, event.clienty, row, column, part); if (column.value && typeof column.value != "string") column.value = column.value.id; document.getelementbyid("r...
...ow").value = row.value; document.getelementbyid("column").value = column.value; document.getelementbyid("part").value = part.value; } </script> <tree id="thetree" flex="1" onmousemove="
updatefields(event);"> <treecols> <treecol id="utensil" label="utensil" primary="true" flex="1"/> <treecol id="count" label="count" flex="1"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="fork"/> <treecell label="5"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="knife"/> <treecell label="2"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="spoon"/> <treecell label="8"/> </treerow> </treeitem> </treechildren> </tree> <label value="row:"/>...
menulist - Archive of obsolete content
for example, for a menuitem in a menu you can add the following css rule when you want to use the value none: menupopup > menuitem, menupopup > menu { max-width: none; } disableautoselect type: boolean if this attribute is true or omitted, the selected item on the menu will
update to match what the user entered in the textbox.
...if this attribute is false, the selection is never
updated to match the text box.
... visible controls have a disabled property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to
update additional state.
Threats - Archive of obsolete content
original document information author(s): ella deon lackey last
updated date: 2012 copyright information: © 2012 red hat, inc.
... link: red hat certificate system common criteria certification 8.1: deployment, planning, and installation original document information author(s): joint task force transformation initiative title: national institute of standards and technology (nist) special publication 800-30 revision 1, guide for conducting risk assessments last
updated date: september 2012 copyright information: this document is not subject to copyright.
... original document information author(s): karen scarfone, wayne jansen, and miles tracy title: national institute of standards and technology (nist) special publication 800-123, guide to general server security last
updated date: july 2008 copyright information: this document is not subject to copyright.
Theme changes in Firefox 3 - Archive of obsolete content
this article covers the changes that need to be made to
update a firefox theme to work properly in firefox 3.
... browser changes requiring theme
updates there are a number of changed and deleted files in the browser that may require you to make changes to your theme.
... the table lists both the changed xul file and the theme's corresponding css file that you might need to
update.
Processing XML with E4X - Archive of obsolete content
this node has one attribute, type, which can be accessed and
updated in a number of ways: alert(languages.@type); // alerts "dynamic" languages.@type = "agile"; alert(languages.@type); // alerts "agile" alert(languages.tostring()); /* alerts: <languages type="agile"><lang>javascript</lang><lang>python</lang></languages> */ note that if one wishes to make comparisons of retrieved attributes with other strings, it is necessary to convert the attribute...
...l syntax without needing to create a well-formed xml document, using the following syntax: var xmllist = <> <lang>javascript</lang> <lang>python</lang> </>; the += operator can be used to append new elements to an xmllist within a document: languages.lang += <lang>ruby</lang>; note that unlike node lists returned by regular dom methods, xmllists are static and are not automatically
updated to reflect changes in the dom.
... if you create an xmllist as a subset of an existing xml object and then modify the original xml object, the xmllist will not reflect those changes; you will need to re-create it to get the most recent
updates: var languages = <languages> <lang>javascript</lang> <lang>python</lang> </languages>; var lang = languages.lang; alert(lang.length()); // alerts 2 languages.lang += <lang>ruby</lang>; alert(lang.length()); // still alerts 2 lang = languages.lang; // re-create the xmllist alert(lang.length()); // alerts 3 searching and filtering e4x provides special operators for selecting nodes within a document that match specific criteria.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
see listing 5 for an
update to listing 1 to reflect this.
...this code is simple in that it
updates the innerhtml of the logging div with the contents of a text file.
... listing 8 - submitting comment data <script> function formhandler() { // get the form values var name = txt_name.getvalue(); var email = txt_email.getvalue(); var message = txt_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...
XForms Select Element - Archive of obsolete content
characteristics analogous widgets are <html:select size="5" multiple="true"/> and <xul:listbox seltype="multiple"/> visual grouping by choices element isn't implemented if incremental attribute value is false, the bound node is
updated when the select control is blurred (i.e.
... loses focus), otherwise it is
updated upon item selection check group the select is represented as group of checkboxes (xhtml/xul).
... characteristics appearance attribute contains the value full there are no analogue widgets in xhtml or in xul visual grouping by choices element is supported if incremental attribute value is false then bound node is
updated when item is blurred examples <xf:model> <xf:instance> <data xmlns=""> <values>g</values> </data> </xf:instance> </xf:model> <xf:select ref="/data/values" appearance="full"> <xf:choices> <xf:label>green colors</xf:label> <xf:item> <xf:label>pale green</xf:label> <xf:value>pg</xf:value> </xf:item> <xf:item> <xf:label>green</xf:label> <xf:value>g</xf:value> </xf:item> </xf:choices> <xf:choices> <xf:label>red colors</xf:label> <xf:item> <xf:label>red</xf:label> <xf:value>r</xf:valu...
Windows Media in Netscape - Archive of obsolete content
in ie, a named html element such as a div may be given to the windows media player control and it will be automatically
updated with caption data.
...fortunately, windows media player also fires a scriptcommand() event for closed captioning, which means content may
update the caption manually with a small piece of javascript.
... original document information authors: arun ranganathan, bob clary, ian oeschger last
updated date: 30 jun 2003 copyright information: copyright © 2001-2003 netscape.
Archive of obsolete content
they are actually replaced by ''-(example removed)-'' the goal of this handbook is to help you
update websites to work with standards-based browsers and properly detect gecko.
...if you have information about a new project or extra information about an existing project, please feel free to
update this page.
... updating an extension to support multiple mozilla applications this article shows how to take an existing extension and
update it so that it can be used in additional mozilla applications.
Building up a basic demo with PlayCanvas editor - Game development
as you can see, the file contains some boilerplate code already: pc.script.create('boxanimation', function (app) { // creates a new boxanimation instance var boxanimation = function (entity) { this.entity = entity; }; boxanimation.prototype = { // called once after all resources are loaded and before the first
update initialize: function () { }, // called every frame, dt is time in seconds since last
update update: function (dt) { } }; return boxanimation; }); the most interesting part is the
update() function, which is where we can put any code that we want repeated on every frame.
...add this code to the initialize() function: this.timer = 0; and those two lines to the
update() function: this.timer += dt; this.entity.setlocalscale(1, math.abs(math.sin(this.timer)), 1); the setlocalscale() method applies the given values to the x, y and z axes of the object.
... next, add the following line to the initialize() function: this.timer = 0; to move the cone up and down we will use the setposition() method — add the code below to the
update() function: this.timer += dt; this.entity.setposition(2, math.sin(this.timer*2), 0); the position of the cone will be animated on each frame by being passed the math.sin() value of the timer at each point in time — we have doubled the this.timer value to make it move higher.
Desktop mouse and keyboard controls - Game development
addkey(phaser.keycode.s); to support both the cursor and w a s d keys, we need to do this: if(this.cursors.left.isdown || this.keyleft.isdown) { // move left } else if(this.cursors.right.isdown || this.keyright.isdown) { // move right } if(this.cursors.up.isdown || this.keyup.isdown) { // move up } else if(this.cursors.down.isdown || this.keydown.isdown) { // move down } in the
update() function we can now move the player's ship in any direction using one of the two sets of movement key options.
...for w a s d keys it can be the space bar: this.keyfire1 = this.input.keyboard.addkey(phaser.keycode.x); this.keyfire2 = this.input.keyboard.addkey(phaser.keycode.spacebar); in the
update() function we can easily check if any of those two were pressed on each frame: if(this.keyfire1.isdown || this.keyfire2.isdown) { // fire the weapon } if yes, then it's time to shoot some bullets!
... we can even define a secret cheat button: this.keycheat = this.input.keyboard.addkey(phaser.keycode.c); and then in the
update() function whenever c is pressed we'll do this: if(this.keycheat.isdown) { this.player.health = this.player.maxhealth; } we can set the health of the player to maximum.
Efficient animation for web games - Game development
it is worth trying to batch similar operations, and to schedule them at a time when screen
updates are unlikely to occur, or when such
updates are of a more subtle nature.
...puzzowl uses it to drive all the drawing
updates and transitions, by overriding its requestanimationframe function with a custom version that makes the request, and appending the game’s drawing function onto the end of the callback like so: animator.requestanimationframe = function(callback) { requestanimationframe(function(t) { callback(t); redraw(); }); }; the game’s redraw function does all drawing, and the anima...
...tion callbacks just
update state.
Collision detection - Game development
update the following part of the code as indicated by the highlighted line: var bricks = []; for(var c=0; c<brickcolumncount; c++) { bricks[c] = []; for(var r=0; r<brickrowcount; r++) { bricks[c][r] = { x: 0, y: 0, status: 1 }; } } next we'll check the value of each brick's status property in the drawbricks() function before drawing it — if status is 1, then draw it, but if it's ...
...
update your drawbricks() function as follows: function drawbricks() { for(var c=0; c<brickcolumncount; c++) { for(var r=0; r<brickrowcount; r++) { if(bricks[c][r].status == 1) { var brickx = (c*(brickwidth+brickpadding))+brickoffsetleft; var bricky = (r*(brickheight+brickpadding))+brickoffsettop; bricks[c][r].x = brickx; bricks[c][r].y = bricky; ctx.beginpath(); ctx.rect(brickx, bricky, brickwidth, brickheight); ctx.fillstyle = "#0095dd"; ctx.fill(); ctx.closepath(); } } } } tracking and updating the status in the collision detecti...
...
update your collisiondetection() function as indicated below: function collisiondetection() { for(var c=0; c<brickcolumncount; c++) { for(var r=0; r<brickrowcount; r++) { var b = bricks[c][r]; if(b.status == 1) { if(x > b.x && x < b.x+brickwidth && y > b.y && y < b.y+brickheight) { dy = -dy; b.status = 0; } } } } } activating our collision detection the last thing to do is ...
Move the ball - Game development
updating the ball's position on each frame remember the
update() function and its definition?
... the code inside it is executed on every frame, so it's a perfect place to put the code that will
update the ball's position on screen.
... add the following new lines of the code inside
update(), as shown: function
update() { ball.x += 1; ball.y += 1; } the code above adds 1 to the x and y properties representing the the ball coordinates on the canvas, on each frame.
CSS and JavaScript accessibility best practices - Learn web development
the rule of thumb is that you can
update the styling of a page feature to fit in your design, but don't change it so much that it no longer looks or behaves as expected.
... modern javascript is a powerful language, and we can do so much with it these days, from simple content and ui
updates to fully-fledged 2d and 3d games.
...we've used <label> elements to make sure the form labels are unambiguously linked to their inputs, so screen readers can read them out alongside: <label for="name">enter your name:</label> <input type="text" name="name" id="name"> we only do the validation when the form is submitted — this is so that we don't
update the ui too often and potentially confuse screen reader (and possibly other) users: form.onsubmit = validate; function validate(e) { errorlist.innerhtml = ''; for(let i = 0; i < formitems.length; i++) { const testitem = formitems[i]; if(testitem.input.value === '') { errorfield.style.left = '360px'; createlink(testitem); } } if(errorlist.innerhtml !== '') { e...
Legacy layout methods - Learn web development
update the second css rule (with the .wrapper selector) as follows: body { width: 90%; max-width: 980px; margin: 0 auto; } .wrapper { padding-right: 2.08333333%; } not only have we given it a percentage width, we have also added a max-width property in order to stop the layout becoming too wide.
... next,
update the fourth css rule (with the .col selector) like so: .col { float: left; margin-left: 2.08333333%; width: 6.25%; background: rgb(255, 150, 150); } now comes the slightly more laborious part — we need to
update all our .col.span rules to use percentages rather than pixel widths.
...
update the bottom block of css rules with the following: /* two column widths (12.5%) plus one gutter width (2.08333333%) */ .col.span2 { width: 14.58333333%; } /* three column widths (18.75%) plus two gutter widths (4.1666666) */ .col.span3 { width: 22.91666666%; } /* and so on...
Positioning - Learn web development
</p> now add the following rule to the bottom of your css: .positioned { position: static; background: yellow; } if you now save and refresh, you'll see no difference at all, except for the
updated background color of the 2nd paragraph.
...go ahead and
update the position declaration in your code: position: relative; if you save and refresh at this stage, you won't see a change in the result at all.
... now,
update the body rule to remove the position: relative; declaration and add a fixed height, like so: body { width: 500px; height: 1400px; margin: 0 auto; } now we're going to give the <h1> element position: fixed;, and get it to sit at the top of the viewport.
Example 4 - Learn web development
ct.classlist.add('active'); }; function toggleoptlist(select, show) { var optlist = select.queryselector('.optlist'); optlist.classlist.toggle('hidden'); } function highlightoption(select, option) { var optionlist = select.queryselectorall('.option'); optionlist.foreach(function (other) { other.classlist.remove('highlight'); }); option.classlist.add('highlight'); }; function
updatevalue(select, index) { var nativewidget = select.previouselementsibling; var value = select.queryselector('.value'); var optionlist = select.queryselectorall('.option'); nativewidget.selectedindex = index; value.innerhtml = optionlist[index].innerhtml; highlightoption(select, optionlist[index]); }; function getindex(select) { var nativewidget = select.previouselementsibling; ret...
...lur', function (event) { deactivateselect(select); }); }); }); window.addeventlistener('load', function () { var selectlist = document.queryselectorall('.select'); selectlist.foreach(function (select) { var optionlist = select.queryselectorall('.option'), selectedindex = getindex(select); select.tabindex = 0; select.previouselementsibling.tabindex = -1;
updatevalue(select, selectedindex); optionlist.foreach(function (option, index) { option.addeventlistener('click', function (event) {
updatevalue(select, index); }); }); select.addeventlistener('keyup', function (event) { var length = optionlist.length, index = getindex(select); if (event.keycode === 27) { deactivateselect(select); } if (ev...
...ent.keycode === 40 && index < length - 1) { index++; } if (event.keycode === 38 && index > 0) { index--; }
updatevalue(select, index); }); }); }); result ...
Example 5 - Learn web development
ct.classlist.add('active'); }; function toggleoptlist(select, show) { var optlist = select.queryselector('.optlist'); optlist.classlist.toggle('hidden'); } function highlightoption(select, option) { var optionlist = select.queryselectorall('.option'); optionlist.foreach(function (other) { other.classlist.remove('highlight'); }); option.classlist.add('highlight'); }; function
updatevalue(select, index) { var nativewidget = select.previouselementsibling; var value = select.queryselector('.value'); var optionlist = select.queryselectorall('.option'); optionlist.foreach(function (other) { other.setattribute('aria-selected', 'false'); }); optionlist[index].setattribute('aria-selected', 'true'); nativewidget.selectedindex = index; value.innerhtml = optionli...
... form.classlist.remove("no-widget"); form.classlist.add("widget"); }); window.addeventlistener('load', function () { var selectlist = document.queryselectorall('.select'); selectlist.foreach(function (select) { var optionlist = select.queryselectorall('.option'), selectedindex = getindex(select); select.tabindex = 0; select.previouselementsibling.tabindex = -1;
updatevalue(select, selectedindex); optionlist.foreach(function (option, index) { option.addeventlistener('mouseover', function () { highlightoption(select, option); }); option.addeventlistener('click', function (event) {
updatevalue(select, index); }); }); select.addeventlistener('click', function (event) { toggleoptlist(select); }); ...
...tener('blur', function (event) { deactivateselect(select); }); select.addeventlistener('keyup', function (event) { var length = optionlist.length, index = getindex(select); if (event.keycode === 27) { deactivateselect(select); } if (event.keycode === 40 && index < length - 1) { index++; } if (event.keycode === 38 && index > 0) { index--; }
updatevalue(select, index); }); }); }); result ...
Adding vector graphics to the Web - Learn web development
label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); const output = document.queryselector('.output'); let code = textarea.value; let userentry = textarea.value; function
updatecode() { output.innerhtml = textarea.value; } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = htmlsolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution...
...'; } else { textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); const htmlsolution = ''; let solutionentry = htmlsolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'); } if (e.keycode === 27) { textarea.blur(); } }; function insertatcaret(text) { const scrollpos = textarea.scrolltop; const caretpos = textarea.selectionstart; const front = (textarea.value).substring(0, caretpos); const back = (textarea.value).substring(textarea.selectionend, textarea.value.length); textarea.valu...
...e = front + text + back; caretpos = caretpos + text.length; textarea.selectionstart = caretpos; textarea.selectionend = caretpos; textarea.focus(); textarea.scrolltop = scrollpos; } //
update the saved usercode every time the user
updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; }
updatecode(); }; summary this article has provided you with a quick tour of what vector graphics and svg are, why they are useful to know about, and how to include svg inside your webpages.
From object to iframe — other embedding technologies - Learn web development
label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background: #f5f9fa; } const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); const output = document.queryselector('.output'); let code = textarea.value; let userentry = textarea.value; function
updatecode() { output.innerhtml = textarea.value; } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = htmlsolution; solution.value = 'show solution';
updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; solution.value = 'hide solution...
...'; } else { textarea.value = userentry; solution.value = 'show solution'; }
updatecode(); }); const htmlsolution = '<iframe width="420" height="315" src="https://www.youtube.com/embed/qh2-tgulwu4" frameborder="0" allowfullscreen>\n</iframe>\n\n<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d37995.65748333395!2d-2.273568166412784!3d53.473310471916975!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x487bae6c05743d3d%3a0xf82fddd1e49fc0a1!2sthe+lowry!5e0!3m2!1sen!2suk!4v1518171785211" width="600" height="450" frameborder="0" style="border:0" allowfullscreen>\n</iframe>'; let solutionentry = htmlsolution; textarea.addeventlistener('input',
updatecode); window.addeventlistener('load',
updatecode); // stop tab key tabbing out of textarea and // make it write a tab...
...const caretpos = textarea.selectionstart; const front = (textarea.value).substring(0, caretpos); const back = (textarea.value).substring(textarea.selectionend, textarea.value.length); textarea.value = front + text + back; caretpos = caretpos + text.length; textarea.selectionstart = caretpos; textarea.selectionend = caretpos; textarea.focus(); textarea.scrolltop = scrollpos; } //
update the saved usercode every time the user
updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; }
updatecode(); }; iframes ...
Graceful asynchronous programming with Promises - Learn web development
diadevices.getusermedia({video: true, audio: true}) .then(chatstream => { selfviewelem.srcobject = chatstream; chatstream.gettracks().foreach(track => mypeerconnection.addtrack(track, chatstream)); setstatusmessage("connected"); }).catch(err => { setstatusmessage("failed to connect"); }); } this function starts by using a function called setstatusmessage() to
update a status display with the message "calling...", indicating that a call is being attempted.
...after that, the status display is
updated to say "connected".
...this uses setstatusmessage() to
update the status box to indicate that an error occurred.
Introduction to client-side frameworks - Learn web development
the real problem is this: every time we change our application’s state, we need to
update the ui to match.
...if we add those features, we have to remember to
update our ui in the right time and in the right way.
... modern web applications typically do not fetch and render new html files — they load a single html shell, and continually
update the dom inside it (referred to as single page apps, or spas) without navigating users to new addresses on the web.
Componentizing our React app - Learn web development
once you’re done, the todo component's <input /> element will read like this: <input id="todo-0" type="checkbox" defaultchecked={props.completed} /> and your browser should
update to show only eat being checked: if you change each <todo /> component’s completed prop, your browser will check or uncheck the equivalent rendered checkboxes accordingly.
...
update your tasklist constant like so: const tasklist = props.tasks.map(task => ( <todo id={task.id} name={task.name} completed={task.completed} key={task.id} /> ) ); you should always pass a unique key to anything you render with iteration.
... then,
update the return statement of app() so that it renders our components.
Creating our first Vue component - Learn web development
vue's data object if you change the value of the label prop passed into the <to-do-item></to-do-item> call in your app component, you should see it
update.
...
update the component object like so: export default { props: { label: { required: true, type: string }, done: { default: false, type: boolean } }, data() { return { isdone: this.done }; } }; vue does a little magic here — it binds all of your props directly to the component instance, so we don’t have to call this.props.done.
...
update your <input> element now to replace checked="false" with :checked="isdone".
Understanding client-side JavaScript frameworks - Learn web development
here we'll get the todo counter to
update to show the correct number of todos still to complete, and correctly apply styling to completed todos (i.e.
...to do this, we will take advantage of vue's conditional rendering capabilities — namely v-if and v-else — to allow us to toggle between the existing todo item view and an edit view where you can
update todo item labels.
...we'll componentize our app, then add more functionality to allow users to
update existing components.
Introduction to automated testing - Learn web development
once the install completes, test that node is installed by typing the following into the terminal, which returns the installed versions of node and npm: node -v npm -v if you've got node/npm already installed, you should
update them to their latest versions.
... to
update node, the most reliable way is to download and install an
updated installer package from their website (see link above).
... to
update npm, use the following command in your terminal: npm install npm@latest -g note: if the above command fails with permissions errors, fixing npm permissions should sort you out.
Implementing feature detection - Learn web development
update your <link> element in your html so it points to the correct css file (you should also
update your <title> element to something more suitable!): <link href="modernizr-css.css" rel="stylesheet"> above this <link> element, add a <script> element to apply the modernizr library to the page, as shown below.
...if you look at the dom inspector of your browser's developer tools, you'll see that modernizr has
updated your <html> class value like so: <html class="js no-htmlimports sizes flash transferables applicationcache blobconstructor blob-constructor cookies cors ...and loads more values!> it now contains a large number of classes that indicate the support status of different technology features.
... moving on, let's
update our css to use modernizr rather than @supports.
Handling common JavaScript problems - Learn web development
let's fix this problem by running the code once the load event has been fired — remove the console.log() line, and
update this code block: let superheroes = request.response; populateheader(superheroes); showheroes(superheroes); to the following: request.onload = function() { let superheroes = request.response; populateheader(superheroes); showheroes(superheroes); } to summarize, anytime something is not working and a value does not appear to be what it is meant to be at some point in your code, you can us...
...at this point, the right-hand side will
update to show some very useful information.
...the view will
update to show the request.onload function in the center panel, and its scopes in the scopes section.
Learn web development
if you prefer to copy the repo in a more flexible way that allows for automatic
updates, you can follow the more complex instructions: install git on your machine.
... you can
update the learning-area repository with any changes made to the master version on github with the following steps: in your command prompt/terminal, go inside the learning-area directory using cd.
... for example, if you were in the parent directory: cd learning-area
update the repository using the following command: git pull contact us if you want to get in touch with us about anything, the best way is to drop us a message on our discourse forum.
Performance
store heavyweight state once per process bad: // addon.js var main = new myaddonservice(); main.onchange(statechange); function statechange() { services.mm.broadcastasyncmessage("my-addon:
update-configuration", {newconfig: main.serialize()}) } // framescript.js var maincopy; function on
update(message) { maincopy = myaddonservice.deserialize(message.data.newconfig); } addmessagelistener("my-addon:
update-configuration", on
update) // maincopy used by other functions the main issue here is that a separate object is kept for each tab.
... better: // addon.js var main = new myaddonservice(); main.onchange(statechange); function statechange() { services.ppmm.broadcastasyncmessage("my-addon:
update-configuration", {newconfig: main.serialize()}) } // processmodule.jsm const exported_symbols = ['getmaincopy']; var maincopy; services.cpmm.addmessagelistener("my-addon:
update-configuration", function(message) { maincopy = message.data.newconfig; }) funtion getmaincopy() { return maincopy; } // framescript.js components.utils.import("resource://my-addon/processmodule.jsm") // getmaincopy() used by other functions don't register observers (and other callbacks to global ser...
... clean up on addon unload bad: all the previous examples, *even the "better" ones* if your addon is restartless or uses the sdk then
updates or the user turning it off and on will load to unload/reload events.
Performance best practices for Firefox front-end engineers
it is expected that over time, script will
update the dom, requiring us to recalculate styles.
... it is expected that over time, script will
update the dom, requiring us to recalculate styles, and then
update layout.
...uninterruptible reflow occurs when some dom node’s styles have changed such that the size or position of one or more nodes in the document will need to be
updated, and then javascript asks for the size or position of anything.
L20n Javascript API
alternatively, you can register callbacks to execute when the context is ready (or when globals change and translations need to be
updated) with ctx.localize.
... ctx.
updatedata(ctxdata: object)
update the context data which will be available to all entities in the context.
...in other words, the following two calls: ctx.
updatedata({ user: { name: "bob" } }); ctx.
updatedata({ user: { gender: "masculine" } }); will make the internally-stored context data look like this: { "user" : { "name": "bob", "gender": "masculine" } } ctx.getsync(id: string, ctxdata: object?) retrieve a string value of an entity called id.
Cryptography functions
updated 3.8 with new options.
... 3.9.3 and later pk11_pubencryptraw mxr 3.2 and later pk11_pubunwrapsymkey mxr 3.2 and later pk11_pubunwrapsymkeywithflags mxr 3.6 and later pk11_pubunwrapsymkeywithflagsperm mxr 3.9 and later pk11_pubwrapsymkey mxr 3.2 and later pk11_random
update mxr 3.2 and later pk11_readrawattribute mxr 3.9.2 and later pk11_referencesymkey mxr 3.2 and later pk11_resettoken mxr 3.4 and later pk11_restorecontext mxr 3.2 and later pk11_savecontext mxr 3.2 and later pk11_savecontextalloc ...
...xr 3.2 and later pk11_traverseslotcerts mxr 3.4 and later pk11_unlinkgenericobject mxr 3.9.2 and later pk11_unwrapsymkey mxr 3.2 and later pk11_unwrapsymkeywithflags mxr 3.2 and later pk11_unwrapsymkeywithflagsperm mxr 3.9 and later pk11_
updateslotattribute mxr 3.8 and later pk11_userenableslot mxr 3.8 and later pk11_userdisableslot mxr 3.8 and later pk11_verify mxr 3.2 and later pk11_verifykeyok mxr 3.2 and later pk11_waitfortokenevent mxr 3.7 and later pk11_wrapsymkey ...
NSS 3.18.1 release notes
this is a patch release to
update the list of root ca certificates.
...so, to give website administrators more time to
update their web servers, we reverted the trust bits back to being enabled.
... cn=mcsholding test, o=mcsholding, c=eg sha1 fingerprint: e1:f3:59:1e:76:98:65:c4:e4:47:ac:c3:7e:af:c9:e2:bf:e4:c5:76 the version number of the
updated root ca list has been set to 2.4 bugs fixed in nss 3.18.1 this bugzilla query returns all the bugs fixed in nss 3.18.1: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.18.1 compatibility nss 3.18.1 shared libraries are backward compatible with all older nss 3.18 shared libraries.
NSS 3.48 release notes
bugs fixed in nss 3.48 bug 1600775 - require nspr 4.24 for nss 3.48 bug 1593401 - fix race condition in self-encrypt functions bug 1599545 - fix assertion and add test for early key
update bug 1597799 - fix a crash in nssckfwobject_getattributesize bug 1591178 - add entrust root certification authority - g4 certificate to nss bug 1590001 - prevent negotiation of versions lower than 1.3 after helloretryrequest bug 1596450 - added a simplified and unified mac implementation for hmac and cmac behind pkcs#11 bug 1522203 - remove an old pentium pro performance workaround bug 15925...
...57 - fix prng known-answer-test scripts bug 1586176 - encrypt
update should use maxout not block size (cve-2019-11745) bug 1593141 - add `notbefore` or similar "beginning-of-validity-period" parameter to mozilla::pkix::trustdomain::checkrevocation bug 1591363 - fix a pbkdf2 memory leak in nsc_generatekey if key length > max_key_len (256) bug 1592869 - use arm neon for ctr_xor bug 1566131 - ensure sha-1 fallback disabled in tls 1.2 bug 1577803 - mark pkcs#11 token as friendly if it implements ckp_public_certificates_token bug 1566126 - power ghash vector acceleration bug 1589073 - use of new pr_assert_arg in certdb.c bug 1590495 - fix a crash in pk11_makecertfromhandle bug 1591742 - ensure des iv length is valid before usage from pkcs#11 bug 1588567 - enable mozilla::pkix gtests in nss ...
...ci bug 1591315 -
update nsc_decrypt length in constant time bug 1562671 - increase nss mp kdf default iteration count, by default for modern key4 storage, optionally for legacy key3.db storage bug 1590972 - use -std=c99 rather than -std=gnu99 bug 1590676 - fix build if arm doesn't support neon bug 1575411 - enable tls extended master secret by default bug 1590970 - ssl_settimefunc has incomplete coverage bug 1590678 - remove -wmaybe-uninitialized warning in tls13esni.c bug 1588244 - nss changes for delegated credential key strength checks bug 1459141 - add more cbc padding tests that missed nss 3.47 bug 1590339 - fix a memory leak in btoa.c bug 1589810 - fix uninitialized variable warnings from certdata.perl bug 1573118 - enable tls 1.3 by default in nss this bugzilla query returns...
NSS 3.51.1 release notes
notable changes in nss 3.51.1 bug 1617968 -
update delegated credentials implementation to draft-07.
... bug 1619056 -
update readme: tls 1.3 is not experimental anymore.
... bug 1617968 -
update delegated credentials implementation to draft-07.
NSS 3.51 release notes
notable changes in nss 3.51
updated dtls 1.3 implementation to draft-34.
... bugs fixed in nss 3.51 bug 1608892 -
update dtls 1.3 implementation to draft-34.
... guaranteed to be null-terminated bug 1561337 - correct a warning for comparison of integers of different signs: 'int' and 'unsigned long' in security/nss/lib/freebl/ecl/ecp_25519.c:88 bug 1609751 - add test for mp_int clamping bug 1582169 - don't attempt to read the fips_enabled flag on the machine unless nss was built with fips enabled bug 1431940 - fix a null pointer dereference in blake2b_
update bug 1617387 - fix compiler warning in secsign.c bug 1618400 - fix a openbsd/arm64 compilation error: unused variable 'getauxval' bug 1610687 - fix a crash on unaligned cmaccontext.aes.keyschedule when using aes-ni intrinsics this bugzilla query returns all the bugs fixed in nss 3.51: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced...
Enc Dec MAC Using Key Wrap CertReq PKCS10 CSR
_with_rsa_encryption, pk); if (!sgn) { pr_fprintf(pr_stderr, "unable to create context for signing\n"); rv = secfailure; goto cleanup; } rv = sgn_begin(sgn); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while sgn_begin\n"); goto cleanup; } while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { rv = sgn_
update(sgn, ibuf, nb); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while sgn_
update\n"); goto cleanup; } } rv = sgn_end(sgn, res); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while sgn_end\n"); goto cleanup; } cleanup: if (infile) { pr_close(infile); } if (sgn) { sgn_...
... pwdata); if (!vfy) { pr_fprintf(pr_stderr, "unable to create context for verifying signature\n"); rv = secfailure; goto cleanup; } rv = vfy_begin(vfy); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while vfy_begin\n"); goto cleanup; } while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { rv = vfy_
update(vfy, ibuf, nb); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while vfy_
update\n"); goto cleanup; } } rv = vfy_end(vfy); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while vfy_end\n"); goto cleanup; } cleanup: if (infile) { pr_close(infile); } if (vfy) { vfy_destr...
...aparams; void *params; 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_random
update(randbuf, blocksize); switch (keytype) { case rsakey: rsaparams.keysizeinbits = size; rsaparams.pe = publicexponent; mechanism = ckm_rsa_pkcs_key_pair_gen; algtag = sec_oid_pkcs1_md5_with_rsa_encryption; params = &rsaparams; break; default:...
sample2
goto cleanup; } /* sign using private key */ sgn = sgn_newcontext(sec_oid_pkcs1_md5_with_rsa_encryption, pk); if (!sgn) { pr_fprintf(pr_stderr, "unable to create context for signing\n"); rv = secfailure; goto cleanup; } rv = sgn_begin(sgn); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while sgn_begin\n"); goto cleanup; } while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { rv = sgn_
update(sgn, ibuf, nb); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while sgn_
update\n"); goto cleanup; } } rv = sgn_end(sgn, res); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while sgn_end\n"); goto cleanup; } cleanup: if (infile) { pr_close(infile); } if (sgn) { sgn_destroycontext(sgn, pr_true); } return rv; } /* * verify the signature using public key */ secstatus verifydata(cons...
...to cleanup; } vfy = vfy_createcontext(pk, sigitem, sec_oid_pkcs1_md5_with_rsa_encryption, pwdata); if (!vfy) { pr_fprintf(pr_stderr, "unable to create context for verifying signature\n"); rv = secfailure; goto cleanup; } rv = vfy_begin(vfy); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while vfy_begin\n"); goto cleanup; } while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { rv = vfy_
update(vfy, ibuf, nb); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while vfy_
update\n"); goto cleanup; } } rv = vfy_end(vfy); if (rv != secsuccess) { pr_fprintf(pr_stderr, "problem while vfy_end\n"); goto cleanup; } cleanup: if (infile) { pr_close(infile); } if (vfy) { vfy_destroycontext(vfy, pr_true); } return rv; } /* * write cryptographic parameters to header file */ secstatus writetoheade...
...st char *pqgfile, secupwdata *pwdata) { ck_mechanism_type mechanism; secoidtag algtag; pk11rsagenparams rsaparams; void *params; 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_random
update(randbuf, blocksize); switch (keytype) { case rsakey: rsaparams.keysizeinbits = size; rsaparams.pe = publicexponent; mechanism = ckm_rsa_pkcs_key_pair_gen; algtag = sec_oid_pkcs1_md5_with_rsa_encryption; params = &rsaparams; break; default: goto cleanup; } fprintf(stderr, "\n\n"); fprintf(stderr, "generating key.
Python binding for NSS
error codes and descriptions were
updated from upstream nspr & nss.
...
update hostentry documentation to indicate it's deprecated status.
...
update all modules to utilize it.
Rhino Debugger
when you select a stack frame the variables and watch windows are
updated to reflect the names and values of the variables visible at that scope.
...the this table is
updated each time control returns to the debugger or when you change the stack location in the context: window.
...the locals table is
updated each time control returns to the debugger or when you change the stack location in the context: window watch window you may enter arbitrary javascript expressions in the watch: table located in the lower-right (dockable) pane in the debugger main window.
JSAPI User Guide
deploy security
updates - firefox automatically installs
updates, so security fixes are deployed as soon as they are available.
... unless you also regularly deploy spidermonkey security
updates, a determined hacker could use publicly known bugs in the engine to attack your application.
...if you promote user a to be an admin, spidermonkey won't magically
update sandbox a to have the administrator classes and functions you didn't define before.
SpiderMonkey 1.8.5
embeddings that defined jsnatives in previous versions must
update all those functions to the new signature.
... the so-called "slow natives" are no longer supported; as such jsfastnative has been renamed to jsnative and relevant interfaces have been
updated accordingly.
...the jsval_to_double and double_to_jsval macros have been
updated to work directly on jsdoubles rather than their pointers, and the js_newdoublevalue and js_newdouble interfaces have been removed.
Web Replay
replaying processes preserve all the same js behavior, dom structures, graphical
updates, and most other behaviors that occurred while recording.
... messages describe actions the child process is able to do independently from the recording; currently this includes sending graphics
updates, taking and restoring process snapshots, and responding to debugger requests.
... a child process can only pause at breakpoints and at snapshot points (currently these only happen when graphics
updates are performed, at which point there is no js on the stack).
Using the Places livemark service
update behavior five seconds after the browser starts up, the livemark service's
update timer is started.
... the
update timer fires immediately, and then every 15 minutes thereafter.
... when the
update timer fires, it iterates over the list of livemarks, and will refresh a livemark *only* if it's expired.
Observer Notifications
this is sent before browsingcontext::closed() is
updated.
... topic data description places-autocomplete-feedback-
updated sent when places
updates the location bar's autocompletion display.
... lightweight-theme-styling-
update json sent when the current theme being used is changed; this is sent even when the user is previewing a theme, not just when the theme is actually selected.
mozIAsyncHistory
@mozilla.org/browser/history;1 as a service: var asynchistory = components.classes["@mozilla.org/browser/history;1"] .getservice(components.interfaces.moziasynchistory); method overview void getplacesinfo(in jsval aplaceidentifiers, in mozivisitinfocallback acallback); void isurivisited(in nsiuri auri, in mozivisitedstatuscallback acallback); void
updateplaces(in moziplaceinfo, [optional] in mozivisitinfocallback acallback); methods getplacesinfo() starts an asynchronous request to determine whether or not a given uri has been visited; you must implement a callback to receive the result of the request.
...
updateplaces() adds a set of visits for one or more moziplaceinfo objects, and
updates each moziplaceinfo's title or guid.
...void
updateplaces( in moziplaceinfo aplaceinfo, in mozivisitinfocallback acallback optional ); parameters aplaceinfo the moziplaceinfo object[s] containing the information to store or
update.
mozIVisitInfoCallback
toolkit/components/places/public/moziasynchistory.idlscriptable this interface provides callback handling functionality for moziasynchistory.
updateplaces() 1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 9.0 (firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) method overview void handleerror(in nsresult aresultcode, in moziplaceinfo aplaceinfo); void handleresult(in moziplaceinfo aplaceinfo); void oncomplete(in nsresult aresultcode, in moziplaceinfo aplaceinfo);obsolete since gecko 8.0 methods handleerror() called when a moziplaceinfo couldn't be processed.
... handleresult() called for each visit added, title change, or guid change when passed to moziasynchistory.
updateplaces().
... oncomplete() obsolete since gecko 8.0 (firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) called for each visit added, title change, or guid change when passed to moziasynchistory.
updateplaces().
nsIAutoCompleteObserver
inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void onsearchresult(in nsiautocompletesearch search, in nsiautocompleteresult result); void on
updatesearchresult(in nsiautocompletesearch search, in nsiautocompleteresult result); methods onsearchresult() called when a search is complete and the results are ready.
... on
updatesearchresult() called to
update with new results.
... void on
updatesearchresult( in nsiautocompletesearch search, in nsiautocompleteresult result ); parameters search the search object that processed this search.
nsIFrameLoader
void loaduri(in nsiuri auri); void sendcrossprocesskeyevent(in astring atype, in long akeycode, in long acharcode, in long amodifiers, [optional] in boolean apreventdefault); void sendcrossprocessmouseevent(in astring atype, in float ax, in float ay, in long abutton, in long aclickcount, in long amodifiers, [optional] in boolean aignorerootscrollframe); void
updatepositionandsize(in nsiframe aiframe); native code only!
... native code only!
updatepositionandsize
updates the position and size of the subdocument loaded by this frameloader.
... void
updatepositionandsize( in nsiframe aiframe ); parameters aiframe the nsiframe for the content node that owns this frameloader.
nsIHTMLEditor
ng avalue); void setcaretafterelement(in nsidomelement aelement); void setcssinlineproperty(in nsiatom aproperty, in astring aattribute, in astring avalue); void setdocumenttitle(in astring atitle); void setinlineproperty(in nsiatom aproperty, in astring aattribute, in astring avalue); void setparagraphformat(in astring aparagraphformat); void
updatebaseurl(); attributes attribute type description iscssenabled boolean a boolean which is true is the htmleditor has been instantiated with css knowledge and if the css pref is currently checked.
... void setparagraphformat( in astring aparagraphformat ); parameters aparagraphformat "p", "h1" to "h6", "address", "pre", or "blockquote"
updatebaseurl() set the baseurl for the document to the current url but only if the page doesn't have a <base> tag this should be done after the document url has changed, such as after saving a file this is used as base for relativizing link and image urls.
... void
updatebaseurl(); parameters none.
nsILivemarkService
(in nsiuri afeeduri); nsiuri getsiteuri(in long long container); boolean islivemark(in long long folder); void reloadalllivemarks(); void reloadlivemarkfolder(in long long folderid); void setfeeduri(in long long container, in nsiuri feeduri); void setsiteuri(in long long container, in nsiuri siteuri); void start(); void stop
updatelivemarks(); methods createlivemark() creates a new livemark.
... stop
updatelivemarks() stop the livemark refresh timer.
... void stop
updatelivemarks(); parameters none.
nsINavHistoryResultViewer
for trees, this would
update the column headers to reflect the altered sorting.
... remarks this method is only called to
update the sorting user interface.
... invalidateall() is called as well if the sorting changes, in order to cause the contents to
update properly.
nsISupports proxies
the api has changed in mozilla 1.9, but the prose below hasn't been
updated yet.
... see xpcom/proxy/public/nsiproxyobjectmanager.idl for the
updated interface and its documentation.
...ns_release(ptestobj); pproxy->bar(); ns_release(pproxy); original document information author: doug turner last
updated date: january 27, 2007 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Mail and RDF
it was imported from mozilla.org and last
updated in 1999.
... reflecting data to rdf in order to have a dynamic ui that
updates when the underlying content changes, a datasource must implement two key methods of reflecting data into rdf.
... content observers
update ui.
Mail composition back end
it was imported from mozilla.org and last
updated in 2000.
...thod onprogress(const char *amsgid, - the message id for the message being sent pruint32 aprogress, - the progress so far pruint32 aprogressmax) = 0; - the maximum progress (aprogress should be used as a numerator and aprogressmax as a denominator for a message sent percentage) onstatus the onstatus gives the listener status
updates for the current operation.
... ns_imethod onprogress( pruint32 acurrentmessage, - the current message being sent pruint32 atotalmessage) = 0; - the total messages to be sent createandsendmessage the onstatus gives the listener status
updates for the current operation.
Mail event system
it was imported from mozilla.org and last
updated in 2002.
...the folder pane needs to know that this changed so that it can
update the message count so the user can see it.
...in its implementation of onintpropertychanged, it uses this information to
update the message count in the dialog.
Plugin Roadmap for Firefox - Plugins
adobe will stop shipping security
updates for flash at the end of 2020.
... see also mozilla firefox october 2015 - npapi plugins in firefox july 2016 - reducing adobe flash usage in firefox july 2017 - firefox roadmap for flash end-of-life adobe flash november 2015 - flash, html5 and open web standards july 2017 - flash & the future of interactive content google chrome flash roadmap sep 2013 - saying goodbye to our old friend npapi may 2014 -
update on npapi deprecation november 2014 - the final countdown for npapi august 2016 - flash and chrome december 2016 - roll-out plan for html5 by default july 2017 - saying goodbye to flash in chrome microsoft edge and internet explorer april 2016 - putting users in control of flash december 2016 - extending user control of flash with click-to-run july 2017 - flash on windows timeline august 201...
...9 -
update on removing flash from microsoft edge and internet explorer apple safari june 2016 - next steps for legacy plug-ins july 2017 - adobe announces flash distribution and
updates to end ...
Debugging service workers - Firefox Developer Tools
that last time the service worker was
updated (if the service has not been
updated, this is when it was first installed).
...this is very useful because, once registered, the service worker will not necessarily
update to the new version immediately, which can make debugging a pain.
... these options make it much easier to remove a cache if it is required for testing a code
update.
Animating CSS properties - Firefox Developer Tools
the css rendering waterfall the process the browser uses to
update the page when a css property has changed can be described as a waterfall consisting of the following steps: recalculate style: every time a css property for an element changes, the browser must recalculate computed styles.
... this sequence needs to fit into a single frame, since the screen isn't
updated until it is complete.
... color properties that are rendered in their own layer don't even trigger a repaint, because the
update is handled in composition.
AudioParam.value - Web APIs
this is reflected by the value getter, which returns the value of the parameter as of the audio rendering engine's most recent render quantum, or moment at which audio buffers are processed and
updated.
... in addition to processing audio buffers, each render quantum
updates the value of each audioparam as needed given the current time and any established time-based parameter value changes.
... if any gradiated or ramped value changing methods have been called and the current time is within the time range over which the graduated change should occur, the value is
updated based on the appropriate algorithm.
BatteryManager - Web APIs
event handlers batterymanager.onchargingchange a handler for the chargingchange event; this event is sent when the battery charging state is
updated.
... batterymanager.onchargingtimechange a handler for the chargingtimechange event; this event is sent when the battery charging time is
updated batterymanager.ondischargingtimechange a handler for the dischargingtimechange event; this event is sent when the battery discharging time is
updated.
... batterymanager.onlevelchange a handler for the levelchange event; this event is sent when the battery level is
updated.
A basic ray-caster - Web APIs
after every interval an
update function will repaint the canvas showing the current view.
... so every
update, the raycaster looks to see if you've pressed any keys lately, to conserve calculations by not casting if you're idle.
... if you have, then the canvas is cleared, the ground and sky are drawn, the camera position and/or orientation are
updated, and the rays are cast out.
Element.shadowRoot - Web APIs
inside the <custom-square> element's class definition we include some life cycle callbacks that make a call to an external function,
updatestyle(), which actually applies the size and color to the element.
... connectedcallback() { console.log('custom square element added to page.');
updatestyle(this); } attributechangedcallback(name, oldvalue, newvalue) { console.log('custom square element attributes changed.');
updatestyle(this); } in the
updatestyle() function itself, we get a reference to the shadow dom using element.shadowroot.
... from here we use standard dom traversal techniques to find the <style> element inside the shadow dom and then
update the css found inside it: function
updatestyle(elem) { const shadow = elem.shadowroot; const childnodes = array.from(shadow.childnodes); childnodes.foreach(childnode => { if (childnode.nodename === 'style') { childnode.textcontent = ` div { width: ${elem.getattribute('l')}px; height: ${elem.getattribute('l')}px; background-color: ${elem.getattribute('c')}; } `; } }); } specifications specification status comment domthe definition of 'shadowroot' in that specification.
Gamepad.timestamp - Web APIs
the gamepad.timestamp property of the gamepad interface returns a domhighrestimestamp representing the last time the data for this gamepad was
updated.
... the idea behind this is to allow developers to determine if the axes and button data have been
updated from the hardware.
...values are monotonically increasing, meaning that they can be compared to determine the ordering of
updates, as newer values will always be greater than or equal to older values.
HTMLDialogElement.close() - Web APIs
syntax dialoginstance.close(returnvalue); parameters returnvalue optional a domstring representing an
updated value for the htmldialogelement.returnvalue of the dialog.
... id="favanimal" name="favanimal"> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select></p> </section> <menu> <button id="cancel" type="reset">cancel</button> <button type="submit">confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <script> (function() { var
updatebutton = document.getelementbyid('
updatedetails'); var cancelbutton = document.getelementbyid('cancel'); var dialog = document.getelementbyid('favdialog'); dialog.returnvalue = 'favanimal'; function opencheck(dialog) { if(dialog.open) { console.log('dialog open'); ...
... } else { console.log('dialog closed'); } } //
update button opens a modal dialog
updatebutton.addeventlistener('click', function() { dialog.showmodal(); opencheck(dialog); }); // form cancel button closes the dialog box cancelbutton.addeventlistener('click', function() { dialog.close('animalnotchosen'); opencheck(dialog); }); })(); </script> note: you can find this example on github as htmldialogelement-basic (see it live also).
IDBRequest.readyState - Web APIs
example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store in another request.
..."walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as it's title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item // back into the database var
updatetitlerequest = objectstore.put(data); // log the source of this request console.log("the readystate of this request is " +
updatetitlerequest.readystate); // when this new request succeeds, run the displaydata() // function again t...
...o
update the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; specifications specification status comment indexed database api 2.0the definition of 'readystate' in that specification.
IDBRequest.source - Web APIs
example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store in another request.
... "walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as its title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item // back into the database var
updatetitlerequest = objectstore.put(data); // log the source of this request console.log("the source of this request is " +
updatetitlerequest.source); // when this new request succeeds, run the displaydata() // function again to
update ...
...the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; specifications specification status comment indexed database api 2.0the definition of 'source' in that specification.
IDBRequest.transaction - Web APIs
example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store in another request.
..."walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as it's title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item back // into the database var
updatetitlerequest = objectstore.put(data); // log the transaction that originated this request console.log("the transaction that originated this request is " +
updatetitlerequest.transaction); // when this new request succeeds, run the di...
...splaydata() // function again to
update the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; this example shows how a the transaction property can be used during a version upgrade to access existing object stores: var openrequest = indexeddb.open('db', 2); console.log(openrequest.transaction); // will log "null".
Basic concepts - Web APIs
the only place where the schema of the database can be
updated is inside the handler of that event.
...the records in an index are automatically populated whenever records in the referenced object store are inserted,
updated, or deleted.
...when the object store changes, all indexes that refer to the object store are automatically
updated.
KeyboardEvent.code - Web APIs
let shipsize = { width: 30, height: 30 }; let position = { x: 200, y: 200 }; let moverate = 9; let turnrate = 5; let angle = 0; let spaceship = document.getelementbyid("spaceship"); next comes the function
updateposition().
... function
updateposition(offset) { let rad = angle * (math.pi/180); position.x += (math.sin(rad) * offset); position.y -= (math.cos(rad) * offset); if (position.x < 0) { position.x = 399; } else if (position.x > 399) { position.x = 0; } if (position.y < 0) { position.y = 399; } else if (position.y > 399) { position.y = 0; } } the refresh() function handles applying the rotation and position by...
... window.addeventlistener("keydown", function(event) { if (event.defaultprevented) { return; // do nothing if event already handled } switch(event.code) { case "keys": case "arrowdown": // handle "back"
updateposition(-moverate); break; case "keyw": case "arrowup": // handle "forward"
updateposition(moverate); break; case "keya": case "arrowleft": // handle "turn left" angle -= turnrate; break; case "keyd": case "arrowright": // handle "turn right" angle += turnrate; break; } refresh(); // consume the event so i...
PaymentDetailsBase - Web APIs
the paymentdetailsbase dictionary is a mixin used by the paymentdetailsinit and paymentdetails
update dictionaries.
... paymentdetails
update provides
updated payment details while the payment user interface is being handled.
... this can be delivered to the payment interface using either paymentdetails
updateevent.
updatewith() or by returning it from the optional details
update promise provided to the paymentrequest.show() call that begins the user interaction.
PaymentRequest.shippingAddress - Web APIs
when the paymentrequest.onshippingaddresschange is called,
updatedetails() is called to
update the details of the paymentrequest, using shippingaddress to set the correct shipping cost.
...var payment = new paymentrequest(supportedinstruments, details, options); payment.addeventlistener('shippingaddresschange', function(evt) { evt.
updatewith(new promise(function(resolve) {
updatedetails(details, request.shippingaddress, resolve); })); }); payment.show().then(function(paymentresponse) { // processing of paymentresponse exerpted for brevity.
... }).catch(function(err) { console.error("uh oh, something bad happened", err.message); }); function
updatedetails(details, shippingaddress, resolve) { if (shippingaddress.country === 'us') { var shippingoption = { id: '', label: '', amount: {currency: 'usd', value: '0.00'}, selected: true }; 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.displayitems.splice(2, 1, shippingoption); details.shippingoptions = [shippingoption];...
PaymentRequest.shippingOption - Web APIs
in each calls to
updatedetails() are made, one using a promise, and the other with a plain js object.
... this demotrates synchrounous and asynchronous
updates to a payment sheet.
... const request = new paymentrequest(methoddata, details, options); // async
update to details request.onshippingaddresschange = ev => { ev.
updatewith(checkshipping(request)); }; // sync
update to the total request.onshippingoptionchange = ev => { const shippingoption = shippingoptions.find( option => option.id === request.id ); const newtotal = { currency: "usd", label: "total due", value: calculatenewtotal(shippingoption), }; ev.
updatewith({ ...details, total: newtotal }); }; async function checkshipping(request) { try { const json = request.shippingaddress.tojson(); await ensurecanshipto(json); const { shippingoptions, total } = await calculateshipping(json); return { ...details, shippingoptions, total }; } catch (err) { return { ...detai...
PaymentRequest: shippingaddresschange event - Web APIs
bubbles no cancelable no interface paymentrequest
updateevent event handler property onshippingaddresschange usage notes depending on the browser, the shipping address information may be redacted for privacy reasons.
... const paymentrequest = new paymentrequest(methoddata, details, options); paymentrequest.addeventlistener("shippingaddresschange", event => { let details
update = checkaddress(paymentrequest.shippingaddress); event.
updatewith(detailsupate); }, false); const checkaddress = theaddress => { let details
update = {}; // check the address, return a paymentdetails
update object // with any changes or errors.
... return details
update; }; you can also establish a handler for shippingaddresschange using the onshippingaddresschange event handler property: paymentrequest.onshippingaddresschange = event => { let details
update = checkaddress(paymentrequest.shippingaddress); event.
updatewith(details
update); }; specifications specification status comment payment request apithe definition of 'shippingaddresschange' in that specification.
PaymentResponse.shippingAddress - Web APIs
when the paymentrequest.onshippingaddresschange is called,
updatedetails() is called to
update the details of the paymentrequest, using shippingaddress to set the correct shipping cost.
... var payment = new paymentrequest(supportedinstruments, details, options); request.addeventlistener('shippingaddresschange', function(evt) { evt.
updatewith(new promise(function(resolve) {
updatedetails(details, request.shippingaddress, resolve); })); }); payment.show().then(function(paymentresponse) { // processing of paymentresponse exerpted for the same of brevity.
... }).catch(function(err) { console.error("uh oh, something bad happened", err.message); }); function
updatedetails(details, shippingaddress, resolve) { if (shippingaddress.country === 'us') { var shippingoption = { id: '', label: '', amount: {currency: 'usd', value: '0.00'}, selected: true }; 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.displayitems.splice(2, 1, shippingoption); details.shippingoptions = [shippingoption]; ...
PaymentResponse.shippingOption - Web APIs
it calls
updatedetails() to toggle the shipping method between "standard" and "express".
...var payment = new paymentrequest(supportedinstruments, details, options); request.addeventlistener('shippingoptionchange', function(evt) { evt.
updatewith(new promise(function(resolve, reject) {
updatedetails(details, request.shippingoption, resolve, reject); })); }); payment.show().then(function(paymentresponse) { // processing of paymentresponse exerpted for the same of brevity.
... }).catch(function(err) { console.error("uh oh, something bad happened", err.message); }); function
updatedetails(details, shippingoption, resolve, reject) { var selectedshippingoption; var othershippingoption; if (shippingoption === 'standard') { selectedshippingoption = details.shippingoptions[0]; othershippingoption = details.shippingoptions[1]; details.total.amount.value = '55.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.displayitems.
SVGLength - Web APIs
setting this attribute will cause valueinspecifiedunits and valueasstring to be
updated automatically to reflect this setting.
...setting this attribute will cause value and valueasstring to be
updated automatically to reflect this setting.
...setting this attribute will cause value, valueinspecifiedunits, and unittype to be
updated automatically to reflect this setting.
ServiceWorkerContainer - Web APIs
the serviceworkercontainer interface of the service worker api provides an object representing the service worker as an overall unit in the network ecosystem, including facilities to register, unregister and
update service workers, and access the state of service workers and their registrations.
... methods serviceworkercontainer.register() creates or
updates a serviceworkerregistration for the given scripturl.
... if (navigator.serviceworker.controller) { console.log('this page is currently controlled by:', navigator.serviceworker.controller); } // then, register a handler to detect when a new or //
updated service worker takes control.
ShadowRoot - Web APIs
inside the <custom-square> element's class definition we include some life cycle callbacks that make a call to an external function,
updatestyle(), which actually applies the size and color to the element.
... connectedcallback() { console.log('custom square element added to page.');
updatestyle(this); } attributechangedcallback(name, oldvalue, newvalue) { console.log('custom square element attributes changed.');
updatestyle(this); } in the
updatestyle() function itself, we get a reference to the shadow dom using element.shadowroot.
... from here we use standard dom traversal techniques to find the <style> element inside the shadow dom and then
update the css found inside it: function
updatestyle(elem) { var shadow = elem.shadowroot; var childnodes = shadow.childnodes; for(var i = 0; i < childnodes.length; i++) { if(childnodes[i].nodename === 'style') { childnodes[i].textcontent = 'div {' + 'width: ' + elem.getattribute('l') + 'px;' + 'height: ' + elem.getattribute('l') + 'px;' + 'background-color: ' + elem.getattribute('c') + ';' + '}'; } } } specifications specification status comment domthe definition of 'interface shadowroot' in that specification.
Visual Viewport API - Web APIs
one thing that may not be clear in this example is the use of the pending
update flag and the call to requestanimationframe().
... the pending
update flag serves to prevent multiple invocations of the transfrom that can occur when onresize and onscroll fire at the same time.
... let pending
update = false; function viewporthandler(event) { if (pending
update) return; pending
update = true; requestanimationframe(() => { pending
update = false; var layoutviewport = document.getelementbyid('layoutviewport'); // since the bar is position: fixed we need to offset it by the // visual viewport's offset from the layout viewport origin.
WebGLRenderingContext.isEnabled() - Web APIs
gl.depth_test depth comparisons and
updates to the depth buffer.
... gl.stencil_test stencil testing and
updates to the stencil buffer.
... editor's draft
updated definition for webgl 2.
WebGLRenderingContext - Web APIs
webglrenderingcontext.bufferdata()
updates buffer data.
... webglrenderingcontext.buffersubdata()
updates buffer data starting at a passed offset.
... webglrenderingcontext.texsubimage2d()
updates a sub-rectangle of the current webgltexture.
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 17ms, or roughly 60fps – frames per second).
... in contrast, the color of the square (set with clearcolor) is only
updated when a new square is created.
...for each square, we set its color once, and then
update only its position every frame.
Animating objects with WebGL - Web APIs
the first thing we'll need is a variable in which to track the current rotation of the square: var squarerotation = 0.0; now we need to
update the drawscene() function to apply the current rotation to the square when drawing it.
...at the end of drawscene we add the code to
update squarerotation.
... squarerotation += deltatime; this code uses the amount of time that's passed since the last time we
updated the value of squarerotation to determine how far to rotate the square.
Using textures in WebGL - Web APIs
when the image has finished downloading // we'll
update the texture with the contents of the image.
... updating the shaders the shader program also needs to be
updated to use the textures instead of solid colors.
... the fragment shader the fragment shader likewise needs to be
updated: const fssource = ` varying highp vec2 vtexturecoord; uniform sampler2d usampler; void main(void) { gl_fragcolor = texture2d(usampler, vtexturecoord); } `; instead of assigning a color value to the fragment's color, the fragment's color is computed by fetching the texel (that is, the pixel within the texture) based on the value of vtexturecoord which like the color...
Inputs and input sources - Web APIs
it calls a function applyexternalinputs() which we'll define momentarily; it takes the avatar object and uses its information to
update the avatar's reference frame.
... after that, everything proceeds as usual, getting the viewer's pose from the
updated reference frame, requesting the next frame callback through requestanimationframe(), and then continuing to set up webgl and draw the scene.
... the applyexternalinputs() method takes the avatar object replaces its referencespace property with a new reference space that incorporates the
updated deltas.
Movement, orientation, and motion: A WebXR example - Web APIs
elviewmatrix: gl.getuniformlocation(shaderprogram, 'umodelviewmatrix'), normalmatrix: gl.getuniformlocation(shaderprogram, 'unormalmatrix'), usampler: gl.getuniformlocation(shaderprogram, 'usampler') }, }; buffers = initbuffers(gl); texture = loadtexture(gl, 'https://cdn.glitch.com/a9381af1-18a9-495e-ad01-afddfd15d000%2ffirefox-logo-solid.png?v=1575659351244'); xrsession.
updaterenderstate({ baselayer: new xrwebgllayer(xrsession, gl) }); if (session_type == "immersive-vr") { refspacetype = "local"; } else { refspacetype = "viewer"; } mat4.fromtranslation(cubematrix, viewerstartposition); vec3.copy(cubeorientation, viewerstartorientation); xrsession.requestreferencespace(refspacetype) .then((refspace) => { xrreferencespace = refspace.ge...
...we connect the session to the webgl layer so it konws what to use as a rendering surface by calling xrsession.
updaterenderstate() with a baselayer set to a new xrwebgllayer.
...in either case, the label of the button is
updated to indicate that a click will start a session, and then, if there is a pending request for an animation frame, we cancel it by calling cancelanimationframe once that's done, the value of xrsession is changed to null to indicate that we're done with the session.
Starting up and shutting down a WebXR session - Web APIs
additionally, it is
updated to maintain compatibility with browsers as their support for webxr and other technologies related to it and to the implementation of the polyfill change over time.
...s: 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 = loadglprograms(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 xrrigidtransform(worlddata.playerspawnposition, worlddata.playerspawnorientation)); worlddata.animationframerequestid = worlddata.
...this is done using the xrsession method
updaterenderstate() to set the render state's baselayer to a newly-created xrwebgllayer encapsulating the webgl context.
Advanced techniques: Creating and sequencing audio - Web APIs
trol these using range inputs on the interface: <label for="attack">attack</label> <input name="attack" id="attack" type="range" min="0" max="1" value="0.2" step="0.1" /> <label for="release">release</label> <input name="release" id="release" type="range" min="0" max="1" value="0.5" step="0.1" /> now we can create some variables over in javascript and have them change when the input values are
updated: let attacktime = 0.2; const attackcontrol = document.queryselector('#attack'); attackcontrol.addeventlistener('input', function() { attacktime = number(this.value); }, false); let releasetime = 0.5; const releasecontrol = document.queryselector('#release'); releasecontrol.addeventlistener('input', function() { releasetime = number(this.value); }, false); the final playsweep() functio...
...e'll do that in the same sort of way as before: <label for="rate">rate</label> <input name="rate" id="rate" type="range" min="0.1" max="2" value="1" step="0.1" /> let playbackrate = 1; const ratecontrol = document.queryselector('#rate'); ratecontrol.addeventlistener('input', function() { playbackrate = number(this.value); }, false); the final playsample() function we'll then add a line to
update the playbackrate property to our playsample() function.
... while (nextnotetime < audioctx.currenttime + scheduleaheadtime ) { schedulenote(currentnote, nextnotetime); nextnote(); } timerid = window.settimeout(scheduler, lookahead); } we also need a draw function to
update the ui, so we can see when the beat progresses.
Using the Web Audio API - Web APIs
we'll use the factory method in our code: const gainnode = audiocontext.creategain(); now we have to
update our audio graph from before, so the input is connected to the gain, then the gain node is connected to the destination: track.connect(gainnode).connect(audiocontext.destination); this will make our audio graph look like this: the default value for gain is 1; this keeps the current volume the same.
... so let's grab this input's value and
update the gain value when the input node has its value changed by the user: const volumecontrol = document.queryselector('#volume'); volumecontrol.addeventlistener('input', function() { gainnode.gain.value = this.value; }, false); note: the values of node objects (e.g.
... great, now the user can
update the track's volume!
Window.requestAnimationFrame() - Web APIs
the window.requestanimationframe() method tells the browser that you wish to perform an animation and requests that the browser calls a specified function to
update an animation before the next repaint.
... you should call this method whenever you're ready to
update your animation onscreen.
... syntax window.requestanimationframe(callback); parameters callback the function to call when it's time to
update your animation for the next repaint.
XRRenderState.baseLayer - Web APIs
this property is read-only; however, you can indirectly change its value using xrsession.
updaterenderstate.
... see the examples below to see how to use
updaterenderstate() to set the current xrwebgllayer used for rendering the scene.
... examples you can set the xrwebgllayer used for rendering by calling
updaterenderstate(), like this: let canvas = document.queryselector("canvas"); gl = canvas.getcontext("webgl", { xrcompatible: true }); setnewwebgllayer(); function setnewwebgllayer(gl) { if (!gl) { /* webgl not available */ return; } xrsession.
updaterenderstate({ baselayer: new xrwebgllayer(xrsession, gl); }); }; here, the canvas obtained in the first line is the canvas into which webgl is going to draw.
XRSession.requestAnimationFrame() - Web APIs
the callback takes two parameters as inputs: an xrframe describing the state of all tracked objects for the session, and a time stamp you can use to compute any animation
updates needed.
... syntax requestid = xrsession.requestanimationframe(animationframecallback); parameters animationframecallback a function which is called before the next repaint in order to allow you to
update and render the xr scene based on elapsed time, animation, user input changes, and so forth.
... the callback receives as input two parameters: time a domhighrestimestamp indicating the time offset at which the
updated viewer state was received from the webxr device.
XRView.eye - Web APIs
gllayer = xrsession.renderstate.baselayer; gl.bindframebuffer(gl.framebuffer, gllayer.framebuffer); gl.clearcolor(0,0, 0, 1.0); gl.cleardepth(1.0); gl.clear(gl.color_buffer_bit, gl.depth_buffer_bit); for (let view of xrpose.views) { let skipview = false; if (view.eye == "left" && body.lefteye.injured) || skipview =
updateinjury(body.lefteye); } else if (view.eye == "right" && body.righteye.injured) { skipview =
updateinjury(body.righteye); } if (!skipview) { let viewport = gllayer.getviewport(view); gl.viewport(viewport.x, viewport.y, viewport.width, viewport.height); renderscene(gl, view); } } for each of the views, the value of eye is checked and if it's either left or right, we check ...
...to see if the body.lefteye.injured or body.righteye.injured property is true; if so, we call a function
updateinjury() on that eye to do things such as allow a bit of healing to occur, track the progress of a poison effect, or the like, as appropriate for the game's needs.
...
updateinjury() returns true if the eye is still injured or false if the eye has been restored to health by the function,.
Using the log role - Accessibility
by default
updates contain only the changes to the live region and these are announced when the user is idle.
...to have announcements made as soon as possible and where the user may be interrupted, aria-live="assertive" can be set for more aggressive
updates.
... screen magnifiers may visually indicate that a log
update has occurred.
Using the slider role - Accessibility
the application will programmatically
update the value of aria-valuenow in response to user input.
... <label for="fader">volume</label> <input type="range" id="fader" min="1" max="100" value="50" step="1" aria-valuemin="1" aria-valuemax="100" aria-valuenow="50" oninput="output
update(value)"> <output for="fader" id="volume">50</output> the following code snippet allows you to return the output as it is
updated by user input: function output
update(vol) { document.queryselector('#volume').value = vol; } example 2: text values sometimes, a slider is used to choose a value that is not, semantically, a number.
... <label id="day-label">days</label> <div class="day-slider"> <div id="day-handle" class="day-slider-handle" role="slider" aria-labelledby="day-label" aria-valuemin="1" aria-valuemax="7" aria-valuenow="2" aria-valuetext="monday"> </div> </div> the code snippet below shows a function that responds to user input and
updates the aria-valuenow and aria-valuetext attributes: var daynames = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]; var
updateslider = function (newvalue) { var handle = document.getelementbyid("day-handle"); handle.setattribute("aria-valuenow", newvalue.tostring()); handle.setattribute("aria-valuetext", daynames[newvalue]); }; working examples: slid...
ARIA: alert role - Accessibility
the alert role can be used to tell the user an element has been dynamically
updated.
... screen readers will instantly start reading out the
updated content when the role is added.
... description one of the five live region roles, the alert role is used to provide the user with important, and usually time-sensitive, information, and often to tell the user an element has been dynamically
updated.
ARIA: feed role - Accessibility
if the addition of articles occupies the main browser thread, make sure to set aria-busy="true" on the feed itself, and make sure to set it back to false when processing ends, or the user may not see the
updates.
... aria-busy when busy, such as when articles are being added or removed from the feed, set aria-busy="true" during the
update operation.
...for example, setting aria-busy to true during the
update operation if needed, and then to false upon completion.
Web accessibility for seizures and physical reactions - Accessibility
a great resource is mdn's document on window.matchmedia() media
update feature the more often the screen is refreshed, the more stable it appears to the human eye, and the less it "flickers".
... "this effect is noticable, and documented, up to 70 hz." "these studies would seem to indicate that you should stay away from refresh rates under 70 hz, and use a rate not divisible by 10." eric bailey, of css-tricks, found an innovative use the
update feature which, used in combination with animation-duration or transition-duration, to conclude at a rate that is imperceptible to the human eye.
... @media screen and (prefers-reduced-motion: reduce), (
update: slow) { * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; /* hat tip nick/cssremedy (https://css-tricks.com/revisiting-prefers-reduced-motion-the-reduced-motion-media-query/#comment-1700170) */ transition-duration: 0.001ms !important; } } from w3.org's page on media queries 4: the
update media feature is used to query the ability of the output device to modify the appearance of content once it has been rendered.
Backwards Compatibility of Flexbox - CSS: Cascading Style Sheets
however, prefixes ultimately were used in production code, and changes to the experimental specification caused people to need to
update their sites to keep up.
... there was an
update to the spec that
updated the syntax to display: flexbox — this was again vendor-prefixed.
... ultimately the specification was
updated to define display: flex as the way to create a flex container.
CSS Grid Layout and Progressive Enhancement - CSS: Cascading Style Sheets
autoprefixer grid layout support the popular tool autoprefixer has been
updated to support the -ms- grid version.
...if they tend to use up-to-date versions of firefox, chrome, opera, and safari, then it would make sense to start using css grids once those browsers
update.
...*/ } } feature queries have excellent browser support, and all of the browsers that support the
updated grid specification support feature queries too.
Video player styling basics - Developer guides
the example in action you can find the code for the
updated, styled example on github, and view it live.
...the internal <span> element used as the actual progressing part of the faked progress bar has its width initially set to 0% (it is
updated via javascript) and it also has its background colour set.
...'unmute' : 'mute'); } } this function is then called by the relevant event handlers: video.addeventlistener('play', function() { changebuttonstate('playpause'); }, false); video.addeventlistener('pause', function() { changebuttonstate('playpause'); }, false); stop.addeventlistener('click', function(e) { video.pause(); video.currenttime = 0; progress.value = 0; //
update the play/pause button's 'data-state' which allows the correct button image to be set via css changebuttonstate('playpause'); }); mute.addeventlistener('click', function(e) { video.muted = !video.muted; changebuttonstate('mute'); }); you might have noticed that there are new handlers where the play and pause events are reacted to on the video.
<dialog>: The Dialog element - HTML: Hypertext Markup Language
examples simple example <dialog open> <p>greetings, one and all!</p> </dialog> advanced example this example opens a pop-up dialog box that contains a form, when the "
update details" button is clicked.
..."dialog"> <p><label>favorite animal: <select> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select> </label></p> <menu> <button value="cancel">cancel</button> <button id="confirmbtn" value="default">confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <output aria-live="polite"></output> javascript var
updatebutton = document.getelementbyid('
updatedetails'); var favdialog = document.getelementbyid('favdialog'); var outputbox = document.queryselector('output'); var selectel = document.queryselector('select'); var confirmbtn = document.getelementbyid('confirmbtn'); // "
update details" button opens the...
... <dialog> modally
updatebutton.addeventlistener('click', function onopen() { if (typeof favdialog.showmodal === "function") { favdialog.showmodal(); } else { alert("the <dialog> api is not supported by this browser"); } }); // "favorite animal" input sets the value of the submit button selectel.addeventlistener('change', function onselect(e) { confirmbtn.value = selectel.value; }); // "confirm" button of form triggers "close" on dialog because of [method="dialog"] favdialog.addeventlistener('close', function onclose() { outputbox.value = favdialog.returnvalue + " button clicked - " + (new date()).tostring(); }); result specifications specification status comment html living standardthe definition of '<dialog>' in that specification.
<input type="button"> - HTML: Hypertext Markup Language
begin by creating a simple button with a click event handler that starts our machine (well, it toggles the value of the button and the text content of the following paragraph): <form> <input type="button" value="start machine"> </form> <p>the machine is stopped.</p> const button = document.queryselector('input'); const paragraph = document.queryselector('p'); button.addeventlistener('click',
updatebutton); function
updatebutton() { if (button.value === 'start machine') { button.value = 'stop machine'; paragraph.textcontent = 'the machine has started!'; } else { button.value = 'start machine'; paragraph.textcontent = 'the machine is stopped.'; } } the script gets a reference to the htmlinputelement object representing the <input> in the dom, saving this refence in the...
... <form> <input type="button" value="start machine" accesskey="s"> </form> <p>the machine is stopped.</p> const button = document.queryselector('input'); const paragraph = document.queryselector('p'); button.addeventlistener('click',
updatebutton); function
updatebutton() { if (button.value === 'start machine') { button.value = 'stop machine'; paragraph.textcontent = 'the machine has started!'; } else { button.value = 'start machine'; paragraph.textcontent = 'the machine is stopped.'; } } note: the problem with the above example of course is that the user will not know what the access key is!
....fillstyle = 'rgb(0,0,0)'; ctx.fillrect(0,0,width,height); var colorpicker = document.queryselector('input[type="color"]'); var sizepicker = document.queryselector('input[type="range"]'); var output = document.queryselector('.output'); var clearbtn = document.queryselector('input[type="button"]'); // covert degrees to radians function degtorad(degrees) { return degrees * math.pi / 180; }; //
update sizepicker output value sizepicker.oninput = function() { output.textcontent = sizepicker.value; } // store mouse pointer coordinates, and whether the button is pressed var curx; var cury; var pressed = false; //
update mouse pointer coordinates document.onmousemove = function(e) { curx = (window.event) ?
<video>: The Video Embed element - HTML: Hypertext Markup Language
durationchange the duration attribute has been
updated.
... time
update the time indicated by the currenttime attribute has been
updated.
... addtype video/webm .webm your web host may provide an easy interface to mime type configuration changes for new technologies until a global
update naturally occurs.
HTTP response status codes - HTTP
you can find an
updated specification in rfc 7231.
...the user-agent may
update its cached headers for this resource with the new ones.
...this response is intended to prevent the 'lost
update' problem, where a client gets a resource's state, modifies it, and puts it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.
Regular expressions - JavaScript
if you use exec() or match() and if the match succeeds, these methods return an array and
update properties of the associated regular expression object and also of the predefined regular expression object, regexp.
... (see different behaviors for further info about the different behaviors.) if you want to construct the regular expression from a string, yet another alternative is this script: var myre = new regexp('d(b+)d', 'g'); var myarray = myre.exec('cdbbdbsbz'); with these scripts, the match succeeds and returns the array and
updates the properties shown in the following table.
...
updated at the time that the regular expression is created, not executed.
Date.prototype.setHours() - JavaScript
the sethours() method sets the hours for a specified date according to local time, and returns the number of milliseconds since january 1, 1970 00:00:00 utc until the time represented by the
updated date instance.
... return value the number of milliseconds between january 1, 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, sethours() attempts to
update the date information in the date object accordingly.
Date.prototype.setUTCHours() - JavaScript
the setutchours() method sets the hour for a specified date according to universal time, and returns the number of milliseconds since january 1, 1970 00:00:00 utc until the time represented by the
updated date instance.
... return value the number of milliseconds between january 1, 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setutchours() attempts to
update the date information in the date object accordingly.
Reflect - JavaScript
returns a boolean that is true if the
update was successful.
...returns a boolean that is true if the
update was successful.
...returns a boolean that is true if the
update was successful.
MathML documentation index - MathML
3 examples beginner, example, guide, mathml, needsbeginner
update below you'll find some examples you can look at to help you to understand how to use mathml to display increasingly complex mathematical concepts in web content.
... 4 mathml: deriving the quadratic formula beginner, education, example, guide, html5, mathml, needsbeginner
update this page outlines the derivation of the quadratic formula.
... 5 proving the pythagorean theorem beginner, example, guide, html5 math, math education, mathml, needsbeginner
update we will now prove the pythagorean theorem: 6 mathml attribute reference mathml, mathml reference this is an alphabetical list of mathml attributes.
Critical rendering path - Web Performance
any time the render tree is modified, such as by added nodes, altered content, or
updated box model styles on a node, layout occurs.
... to reduce the frequency and duration of layout events, batch
updates and avoid animating box model properties.
...paint time depends on what kind of
updates are being applied to the render tree.
Introduction to progressive web apps - Progressive web apps (PWAs)
the ability to
update only the content that has changed when an app
update is available.
... re-engageability one major advantage of native platforms 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.
... modern web apps can now do this too, using new technologies such as service workers for controlling pages, the web push api for sending
updates straight from server to app via a service worker, and the notifications api for generating system notifications to help engage users when they're not actively using their web browser.
Caching compiled WebAssembly modules - WebAssembly
if the wasm module code is
updated, or its url changes, you will need to
update dbversion.
...s off by defining some necessary constants: function instantiatecachedurl(dbversion, url, importobject) { const dbname = 'wasm-cache'; const storename = 'wasm-cache'; setting up the database the first helper function contained inside instantiatecachedurl() — opendatabase() — creates an object store for storing wasm modules, and also handles clearing out the database if the dbversion is
updated; it returns a promise resolving to the new database.
...embly.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 above — you need to
update when any wasm module is
updated or moved to a different url.
SDK API Lifecycle - Archive of obsolete content
it has two main components: a stability index that defines how stable each module is a deprecation process that defines when and how stable sdk apis can be changed or removed from future versions of the sdk while giving developers enough time to
update their code.
... deprecation process deprecation in the chosen release, the sdk team will communicate the module's deprecation:
update the module's stability index to be "deprecated" include a deprecation notice in the release notes, the add-ons blog, and the jetpack google group.
panel - Archive of obsolete content
32": "./icon-32.png", "64": "./icon-64.png" }, onchange: handlechange }); var mypanel = sdkpanels.panel({ contenturl: self.data.url("panel.html"), onhide: handlehide }); function handlechange(state) { if (state.checked) { mypanel.show({ position: button }); } } function handlehide() { button.state('window', {checked: false}); } updating panel content you can
update the panel's content by: sending a message to a content script that
updates the dom in the same document.
...setting it
updates the panel's content immediately.
platform/xpcom - Archive of obsolete content
however, the components.classes object commonly used to look up factories by contract id will not be
updated at run time.
... this function is similar to the standard components.classes[contractid] with one significant difference: that components.classes is not
updated at runtime.
ui/frame - Archive of obsolete content
you can specify the frame's url property as the targetorigin: frame.postmessage(message, frame.url); this add-on listens for a frame script to send the "city changed" message above, and in response,
updates all frames across all browser windows with that city's current weather (it just reads this from a dictionary, where in a 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", onmes...
...sage: (e) => {
updateweather(e.data); } }); var toolbar = toolbar({ name: "city-info", title: "city info", items: [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-on to a specific frame you can send a message from the main add-on code to the frame hosted by a particular browser window.
cfx to jpm - Archive of obsolete content
to get new
updates of cfx you download and extract a new zip file, while to get the new version of jpm, use npm
update.
...for example: addons.mozilla.org uses it to distinguish between new add-ons and
updates to existing add-ons, and the simple-storage module uses it to figure out which stored data belongs to which add-on.
Bookmarks - Archive of obsolete content
you can use the nsinavbookmarksservice.changebookmarkuri() method to
update the uri for a given bookmark item: var uri = ios.newuri("http://mozilla.com/", null, null); bmsvc.changebookmarkuri(newbkmkid, uri); this example changes the bookmark to refer to the mozilla web site instead of google.
... // an nsinavbookmarkobserver var myext_bookmarklistener = { onbegin
updatebatch: function() {}, onend
updatebatch: function() {}, onitemadded: function(aitemid, afolder, aindex) {}, onitemremoved: function(aitemid, afolder, aindex) {}, onitemchanged: function(abookmarkid, aproperty, aisannotationproperty, avalue) { myextension.dosomething(); }, onitemvisited: function(abookmarkid, avisitid, time) {}, onitemmoved: function(aitemid, aoldparent, aoldindex,...
Listening to events in Firefox extensions - Archive of obsolete content
pageshoweventhandlers the pageshoweventhandlers() function is called by the pageshow event and is used to populate the character set menu and
update the ui elements associated with any detected feeds or opensearch plugins for the website.
...it is used to
update the ui for many different reasons:
update the progress bar and status messages as pages load turn on and off the throbber as pages load set the site icon when available
update the address bar as the user navigates hide notification bars when appropriate as the user navigates apply the site zoom preferences to newly loading pages
update the bookmarking star button ui
update the identity display as the site's security changes tabsprogresslistener this object is a tabs progress listener and receives events for all browsers in the window.
Signing an XPI - Archive of obsolete content
this article is a mirror of the original, with minor reformatting, some new info and all links
updated in march 2010.
...mytestcert u,u,cu certum root ca ct,c,c certum level iii ca c,c,c code signing (certum) u,u,u you should notice that the existing certificate has been
updated.
checking - Archive of obsolete content
the checking event is fired when the user agent is checking for an
update, or attempting to download the cache manifest for the first time.
... related events checking no
update downloading progress cached
updateready obsolete error ...
downloading - Archive of obsolete content
the downloading event is fired after checking for an application cache
update, if the user agent has found an
update and is fetching it, or is downloading the resources listed by the cache manifest for the first time.
... related events checking no
update progress cached
updateready obsolete error ...
Monitoring WiFi access points - Archive of obsolete content
the onchange() method (lines 13 through 27) begins by enabling universalxpconnect privileges, then clearing out the div (d) that will receive the
updated list of access points.
...then the c div is
updated with the number of times the list has been refreshed.
Autodial for Windows NT - Archive of obsolete content
it was last
updated in 2002.
... original document information author(s): benjamin chuang last
updated date: october 2, 2002 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Enabling the behavior - updating the status bar panel - Archive of obsolete content
in order for loadtinderboxstatus() to have any effect we need to define a matching
updatetinderboxstatus() function.
... function
updatetinderboxstatus() { var icon = document.getelementbyid('tinderbox-status'); if (gxmlhttprequest.responsetext.match("ee0000")) icon.setattribute("status", "busted"); else if (gxmlhttprequest.responsetext.match("ffaa00")) icon.setattribute("status", "testfailed"); else if (gxmlhttprequest.responsetext.match("11dd11")) icon.setattribute("status", "success"); else icon.setattribute("status", ""); }
updatetinderboxstatus() retrieves a reference to the statusbarpanel element then searches through the retrieved html document (stored in the responsetext property of the xmlhttprequest instance) for one of several color references.
Getting Started - Archive of obsolete content
skin\classic\mozapps mozapps contains all the styles and icons for the browser peripherals, such as the extension manager or
update wizard.
...you will also have to
update the minimum and maximum compatible versions for the target application (seamonkey) in the following section: <em:targetapplication> <description> <!-- seamonkey's uuid --> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minversion>min_sm_version</em:minversion> <em:maxversion>max_sm_version</em:maxversion> </description> </em:targetapplication> estab...
Creating a hybrid CD - Archive of obsolete content
it was last
updated in 2001.
... original document information author(s): dawn endico last
updated date: may 1, 2001 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Creating a Release Tag - Archive of obsolete content
it has not been
updated for usage of mercurial.
...-name cvs | xargs -l -p10 cvs tag -l mozilla_0_9_4_1_release >& ../taglog original document information author(s): dawn endico last
updated date: november 1, 2005 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
skin\classic\mozapps mozapps contains all the styles and icons for the browser peripherals, such as the extension manager or
update wizard.
... you will also have to
update the minimum and maximum compatible versions for the target application (firefox) in the following section: <em:targetapplication> <description> <!-- firefox's uuid --> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>min_ff_version</em:minversion> <em:maxversion>max_ff_version</em:maxversion> </description> </em:targetapplication> establi...
Developing New Mozilla Features - Archive of obsolete content
it was last
updated in 2004.
... original document information author(s): mitchell baker last
updated date: october 30, 2004 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Editor Embedding Guide - Archive of obsolete content
l" (similar to "text" but html can be inserted; intended for plaintext mail usage and handling of citations) "html" (this is the default type if no type is specified; it allows for all html tags to be inserted) "htmlmail" (this is much like "html" except there are a few editing rules/behaviors that differ such as splitting of mail quotes) editor commands you need to call commands and receive
updates in order to make any changes to the content on the browser.
... commandparam->getbooleanvalue("state_enabled",&boolval); original document information authors: michael judge (mjudge@netscape.com) contributor: kathleen brade (brade@netscape.com) last
updated date: march 27, 2003 original document: a guide to embedding the gecko editor ...
HTTP Class Overview - Archive of obsolete content
it was last
updated in 2002.
...eaderarray stores http "<header>:<value>" pairs nshttpauthcache stores authentication credentials for http auth domains nshttpbasicauth implements nsihttpauthenticator generates basic auth credentials from user:pass nshttpdigestauth implements nsihttpauthenticator generates digest auth credentials from user:pass original document information author(s): darin fisher last
updated date: august 5, 2002 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Helper Apps (and a bit of Save As) - Archive of obsolete content
it was last
updated in 2002.
... original document information author(s): boris zbarsky last
updated date: september 12, 2002 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Menu - Archive of obsolete content
null is recommended because it stands out.) function a menuitem that will
update itself when its menu is shown.
...ttp://example.com/ice-cream.png", menu: new jetpack.menu(["vanilla", "chocolate", "pistachio", null, "none"]), command: function (menuitem) jetpack.notifications.show(menuitem.label) }); add an item to the hyperlink context menu that tweets the link: jetpack.menu.context.page.on("a").add(function (context) { return { label: "tweet", command: function () jetpack.lib.twitter.statuses.
update({ status: context.node.href }) }; )); add an item to the page's context menu depending on some complex criteria that can't be completely expressed via a css selector: jetpack.menu.context.page.beforeshow = function (menu, context) { menu.reset(); if (matchesmycriteria(context)) menu.add("match!"); }; add an item to both the hyperlink context menu and the image context menu: ...
jspage - Archive of obsolete content
st",url:this.get("action")},a));},get:function(a){if(a||!this.retrieve("send")){if(a||!this.retrieve("send:options")){this.set("send",a); }this.store("send",new request(this.retrieve("send:options")));}return this.retrieve("send");}};element.implement({send:function(a){var b=this.get("send"); b.send({data:this,url:a||b.options.url});return this;}});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().parsefromstring(d,"text/xml");}d=g.getelementsbytagname("root")[0];...
...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("*");if(c.filter){b.tree=b.elements.filter(c.filter); }if(c.
update){document.id(c.
update).empty().set("html",b.html);}else{if(c.append){document.id(c.append).adopt(a.getchildren());}}if(c.evalscripts){$exec(b.javascript); }this.onsuccess(b.tree,b.elements,b.html,b.javascript);}});element.properties.load={set:function(a){var b=this.retrieve("load");if(b){b.cancel();}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",
update:this,me...
Hacking wiki - Archive of obsolete content
to configure it, run <tt>
update-devmo.php</tt> from the command line.
... the following worked for me (from the <tt>www</tt> directory): /path/to/php -f ./maintenance/
update-devmo.php done you should have a working install of the mdc wiki now.
RDF Datasource How-To - Archive of obsolete content
update: javascript xpcom should now be possible.
... contact: chris waterson (waterson@netscape.com) original document information author(s): chris waterson last
updated date: june 19, 2000 copyright information: copyright (c) chris waterson ...
Space Manager Detailed Design - Archive of obsolete content
if the collection is too small, then an error is returned and the count is
updated to indicate the size required.
... cross-component algorithms tech notes original document information author(s): marc attinasi other contributors: david baron, josh soref last
updated date: november 25, 2005 ...
Table Cellmap - Archive of obsolete content
the current solution is to use nscellmap::getdataat with a special argument a
updatezerospan to repair the cellmap if it encounters a empty cell (nsnull), by looking for a origin of a zero row- or colspan that spans the queried place in the cellmap.
... original document information author(s): bernd mielke last
updated date: september 27, 2003 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Table Layout Regression Tests - Archive of obsolete content
update the rtest.lst file in the corresponding directory in order to include your file.
... original document information author(s): bernd mielke other contributors: boris zbarsky last
updated date: february 5, 2007 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
URIs and URLs - Archive of obsolete content
it was last
updated in 2002.
... original document information author(s): andreas otte last
updated date: january 2, 2002 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
XBL 1.0 Reference - Archive of obsolete content
points <children> handling dom changes event flow and targeting flow and targeting across scopes focus and blur events mouseover and mouseout events anonymous content and css selectors and scopes binding stylesheets binding implementations introduction methods properties inheritance of implementations event handlers example - sticky notes
updated and adjusted for the current firefox implementation.
... notes.html notes.xml notes.css view this example download all files (.zip archive) need to ask to adjust the server - it gives "access denied" for zip files (?) references initial xbl 1.0 proposal submitted as a note to w3c (does not reflect mozilla implementation, nor future plans) xbl 2.0 project original document information last
updated date: april 24, 2006 ...
Windows Install - Archive of obsolete content
dirpath); // convert the available disk space into kilobytes spaceavailable = parseint(spaceavailable / 1024); // do the verification if(spaceavailable < spacerequired) { logcomment("insufficient disk space: " + dirpath); logcomment(" required : " + spacerequired + " k"); logcomment(" available: " + spaceavailable + " k"); return(false); } return(true); } function
updatewinreg4ren8dot3() { var fprogram = getfolder("program"); var ftemp = getfolder("temporary"); //notes: // can't use a double backslash before subkey // - windows already puts it in.
...8dot3ini != null) { for(i = 0; i < listlongfilepaths.length; i++) { flongfilepath = getfolder(fprogram, listlongfilepaths[i]); sshortfilepath = file.windowsgetshortname(flongfilepath); if(sshortfilepath) { fren8dot3ini.writestring("rename", sshortfilepath, flongfilepath); binicreated = true; } } if(binicreated)
updatewinreg4ren8dot3() ; } return(0); } // main var srdest; var err; var fprogram; srdest = 449; err = initinstall(prettyname, regname, "6.0.0.2000110801"); logcomment("initinstall: " + err); fprogram = getfolder("program"); logcomment("fprogram: " + fprogram); if(verifydiskspace(fprogram, srdest)) { setpackagefolder(fprogram); err = adddirectory("", "6.0.0.2000110801", "bin", // di...
addDirectory - Archive of obsolete content
ryname, string xpisourcepath, object localdirspec, string relativelocalpath); public int adddirectory ( string registryname, string version, string xpisourcepath, object localdirspec, string relativelocalpath); public int adddirectory ( string registryname, string version, string xpisourcepath, object localdirspec, string relativelocalpath, boolean force
update); public int adddirectory ( string registryname, installversion version, string xpisourcepath, object localdirspec, string relativelocalpath, boolean force
update); parameters the adddirectory method has the following parameters: registryname the pathname in the client version registry for the root directory of the files that are to be installed.this parameter ca...
... xpisourcepath a string specifying the location of the directory within the xpi file.an empty string ("") causes the creation of a subdirectory node in the registry without actually unpacking any files, which may be useful when you are updating a package that contains subcomponents that could also be
updated separately.
patch - Archive of obsolete content
summary
updates an existing component.
... description the patch method to
update an existing component by applying a set of differences between two known versions.
XPInstall API reference - Archive of obsolete content
rofile getwinregistry initinstall loadresources logcomment patch performinstall refreshplugins registerchrome reseterror setpackagefolder installtrigger no properties methods compareversion enabled getversion install installchrome startsoftware
update installversion properties methods compareto init tostring file no properties methods copy dircreate dirgetparent dirremove dirrename diskspaceavailable execute exists isdirectory isfile macalias moddate moddatechanged ...
... setrootkey setvalue setvaluenumber setvaluestring valueexists winregvalue constructor other information return codes see complete list examples trigger scripts and install scripts code samples file.macalias file.windowsshortcut install.adddirectory install.addfile installtrigger.installchrome installtrigger.startsoftware
update windows install ...
A XUL Bestiary - Archive of obsolete content
the w3c has standardized on a particular dom and already has a candidate recommendation for an
updated version.
...these three cross-platform glue technologies fit in the middle of an architecture that looks something like this: author: ian oeschger other documents: mozilla jargon file and introduction to xul original document information author(s): ian oeschger last
updated date: april 16, 2000 copyright information: copyright (c) ian oeschger ...
disableautoselect - Archive of obsolete content
« xul reference home disableautoselect type: boolean if this attribute is true or omitted, the selected item on the menu will
update to match what the user entered in the textbox.
...if this attribute is false, the selection is never
updated to match the text box.
events - Archive of obsolete content
« xul reference home events type: comma-separated list a comma-separated list of event names that the command
updater will
update upon.
...you can send a custom event by calling the
updatecommands method of the command dispatcher.
sizemode - Archive of obsolete content
note: when a window is minimized, the sizemode attribute is not
updated.
... issues with this attribute (at least on firefox 3): sizemode is only
updated when the value of the persist attribute on the root element (such as <window>) contains sizemode.
targets - Archive of obsolete content
« xul reference home targets type: comma-separated list of element ids a comma-separated list of element ids that the command
updater will
update upon.
...the command
update will only occur when the event occurs to one of the specified elements.
Attribute (XUL) - Archive of obsolete content
onaccesskeyextra1 buttonaccesskeyextra2 buttonaccesskeyhelp buttonalign buttondir buttondisabledaccept buttonlabelaccept buttonlabelcancel buttonlabeldisclosure buttonlabelextra1 buttonlabelextra2 buttonlabelhelp buttonorient buttonpack buttons checked checkstate clicktoscroll class closebutton closemenu coalesceduplicatearcs collapse collapsed color cols command command
updater completedefaultindex container containment contentcontextmenu contenttooltip context contextmenu control crop curpos current currentset customindex customizable cycler datasources decimalplaces default defaultbutton defaultset description dir disableautocomplete disableautoselect disableclose disabled disablehistory disablekeynavigation disablesecurity dlgtype drag...
...kedpanel max maxheight maxlength maxpos maxrows maxwidth member menu menuactive min minheight minresultsforpopup minwidth mode modifiers mousethrough movetoclick multiline multiple name negate newlines next noautofocus noautohide noinitialfocus nomatch norestorefocus object observes onbeforeaccept onbookmarkgroup onchange onclick onclosetab oncommand oncommand
update ondialogaccept ondialogcancel ondialogclosure ondialogextra1 ondialogextra2 ondialoghelp onerror onerrorcommand onextra1 onextra2 oninput onload onnewtab onpageadvanced onpagehide onpagerewound onpageshow onpaneload onpopuphidden onpopuphiding onpopupshowing onpopupshown onsearchcomplete onselect ontextcommand ontextentered ontextrevert ontextreverted onunload onwiza...
Textbox (XPFE autocomplete) - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to
update additional state.
...a listener for the command event should
update search results.
Focus and Selection - Archive of obsolete content
typically, you will use focus and blur events to
update parts of the interface as the user selects elements.
... for instance, you might
update a total as the user enters values in other fields, or use focus events to validate certain values.
Modifying a XUL Interface - Archive of obsolete content
example 7 : source view <script> function
updatestate(){ var name = document.getelementbyid("name"); var sindex = document.getelementbyid("group").selectedindex; name.disabled = sindex == 0; } </script> <radiogroup id="group" onselect="
updatestate();"> <radio label="random name" selected="true"/> <hbox> <radio label="specify a name:"/> <textbox id="name" value="jim" disabled="true"/> </hbox> </radiogroup> in this example a...
... function
updatestate() is called whenever a select event is fired on the radio group.
More Event Handlers - Archive of obsolete content
here is an example which displays the current mouse coordinates: example 4 : source view <script> function
updatemousecoordinates(e){ var text = "x:" + e.clientx + " y:" + e.clienty; document.getelementbyid("xy").value = text; } </script> <label id="xy"/> <hbox width="400" height="400" onmousemove="
updatemousecoordinates(event);"/> in this example, the size of the box has been set explicitly so the effect is easier to see.
...note that the event argument must be passed to the
updatemousecoordinates function.
Skinning XUL Files by Hand - Archive of obsolete content
software components and users will be able to
update the chrome registry and change the global skin.
... original document information author(s): ian oeschger last
updated date: october 3, 2004 copyright information: copyright (c) ian oeschger ...
Using Remote XUL - Archive of obsolete content
bedding the menu bar into the pages; (we can use xbl to embed xul into html pages to get around the limitations of iframes.) integrating the search function into the menu bar so you don't have to go to a separate page to use it; hiding the html-based navigation for users who can see the xul-based navigation; storing the menu structure and items in a remote rdf datasource to make them easier to
update and reuse.
... original document information last
updated date: december 7, 2002 ...
XUL Questions and Answers - Archive of obsolete content
some of them can be tied to a preference so that the preference is automatically
updated as the control is manipulated.
... others, like <listbox>, cannot be so tied, but one can always write a script that
updates preferences explicitly, via nsiprefbranch interface.
preference - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to
update additional state.
... void
updateelements();
update all elements that observe this preference.
toolbar - Archive of obsolete content
the value is
updated automatically by the toolbar customization dialog.
...be careful, as setting this property doesn't automatically
update the currentset attribute.
tree - Archive of obsolete content
however, the content view will automatically
update the tree if treeitems are changed.
... visible controls have a disabled property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to
update additional state.
CommandLine - Archive of obsolete content
for the sake of simplicity, the proposed solution involves the observer service to notify observers that the
updated arguments are available.
...</window> original document information author: georges-etienne legendre last
updated date: august 21st, 2007 ...
XUL Explorer - Archive of obsolete content
option to automatically
update the preview as the editor changes.
... installs latest version: install (windows): xulexplorer-1.0a1pre.en-us.win32.exe 6.6mb install (mac): xulexplorer-1.0a1pre.en-us.mac.dmg 9.3mb install (linux): xulexplorer-1.0a1pre.en-us.linux-i686.tar.bz2 8.4mb contributing source code in svn bugzilla (for bugs and suggestions) open bugs, enter new bug blog posts xul explorer -
updated (1.0a1pre) xul explorer 0.4 xul explorer 0.3 xul explorer 0.2 exploring xul ...
Mozilla.dev.apps.firefox-2006-09-29 - Archive of obsolete content
summary: mozilla.dev.apps.firefox - september 22-29, 2006 announcements bon echo 20060921 nightly to recieve "major
update" offer mike beltnzer announced that 'users running the bon echo 20060921 nightly build will be offered the chance to upgrade to a "new version"' firefox start up performance boris zbarsky recently performed some profiling of firefox's start up - these are some of the details discussions problem handling dmg files on mac discussion about why sometimes dmg files are not mounted correctly after they are downloaded.
... firefox 2 on windows vista discussion about the "state of affairs" of firefox 2 on windows vista rc1 -
update for rc1 listed in
update history as 'install pending' right-click "copy email address" - bug 353102 a proposed bug fix to the 'copy email address' bug how to use the rss feeds discovery & parsing tool in another open source project?
2006-09-29 - Archive of obsolete content
summary: mozilla.dev.apps.firefox - september 22-29, 2006 announcements bon echo 20060921 nightly to recieve "major
update" offer mike beltnzer announced that 'users running the bon echo 20060921 nightly build will be offered the chance to upgrade to a "new version"' firefox start up performance boris zbarsky recently performed some profiling of firefox's start up - these are some of the details discussions problem handling dmg files on mac discussion about why sometimes dmg files are not mounted correctly after they are downloaded.
... firefox 2 on windows vista discussion about the "state of affairs" of firefox 2 on windows vista rc1 -
update for rc1 listed in
update history as 'install pending' right-click "copy email address" - bug 353102 a proposed bug fix to the 'copy email address' bug how to use the rss feeds discovery & parsing tool in another open source project?
2006-11-24 - Archive of obsolete content
discussions microsummary w/ script a user created patch that will allow script to run in a sandbox during the
update of a microsummary.
... trunk builds + winxp
update = broken?
2006-10-06 - Archive of obsolete content
a: robert helmer pointed out the mozilla.org's config file could be found here and to look for -->mozconfig<---------------------------------------- -->end mozconfig<----------------------------------------
updated: developer documentation issues for thunderbird 2 eric shepherd has requested feedback for any developer documentation issues that might need dealing with for thunderbird 2.
...
updated : need ui to rearrange tags peter lairo suggested some ui should be available for rearranging tags.
2006-10-27 - Archive of obsolete content
update-packaging october 27: atachi.hayash wanted to know if you use msys would
update-packaging work.
... click here to view the errorthat he receives when trying to
update-packaging.
Extentsions FAQ - Archive of obsolete content
you must remove
updateurl from the install.rdf and use a known to amo minversion/maxversion.
... friday, october 6 - 13, 2006 (↑ top) has anyone experienced problem with
update that it only considers themes and extensions during the
update check, ignoring langpacks with firefox 2.0?
2006-10-27 - Archive of obsolete content
update check failing in firefox 2.0 if add-on type is 8 testing a custom
update.rdf file for a langpack using the official version of firefox 2.0 rc 3.
... alternative german locale while the alternative locale is active, the auto
update of firefox stops working.
2006-10-06 - Archive of obsolete content
rc2 testing
update tim riley announced minimum tests for rc2 have been run and that rc2 is go for the final staging of the release.
... simon paquet asked for an
update of the road map and either
update or removal of the planning blog.
2006-10-06 - Archive of obsolete content
summary: mozilla.dev.quality - september 30-october 6, 2006 announcements firefox 2 rc2
update - the minimum tests for rc2 are complete which includes smoke and bft tests.
...
update checker was run; all failures found were expected.
2006-10-27 - Archive of obsolete content
- with firefox 2.0 out the door, it's time to make sure that all 1.5.0.x users are
updated with the latest and greatest in stability and security fixes!
...
update welcome page - a bug has been discovered when updating to firefox 2.0.
NPEvent - Archive of obsolete content
values: 0 nullevent 1 mousedown 2 mouseup 3 keydown 4 keyup 5 autokey 6
updateevt 7 diskevt 8 activateevt 15 osevt 23 khighlevelevent getfocusevent 0, 1 (true, false) losefocusevent adjustcursorevent 0, 1 (true, false) for information about these events, see the mac os developer documentation.
...
update events: sent if the
update region intersects the instance's bounds.
NPRegion - Archive of obsolete content
syntax windows: typedef hrgn npregion; mac os x: typedef rgnhandle npregion; note: this may need to be
updated for the cocoa event model.
... xwindows: typedef region npregion; description npregion defines the region of the plug-in window to be
updated, painted, invalidated, or clipped to.
Security Controls - Archive of obsolete content
department of commerce title: federal information processing standard publication 200, minimum security requirements for federal information and information systems last
updated date: march 2006 copyright information: this document is not subject to copyright.
... original document information author(s): karen scarfone, wayne jansen, and miles tracy title: nist special publication 800-123, guide to general server security last
updated date: july 2008 copyright information: this document is not subject to copyright.
NSPR Release Engineering Guide - Archive of obsolete content
feature complete
update ...pr/include/prinit.h with release numbers build all targets, debug and optimized on all platforms 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 platforms 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 exp...
...copy /share/builds/components/nspr20/vx.y.z/* to /share/systems/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 3.5 - Archive of obsolete content
this article covers the changes that need to be made to
update a firefox theme to work properly in firefox 3.5.
... core, browser and toolkit changes requiring theme
updates there are a number of changes in the browser that may require you to make changes to your theme.
New in JavaScript 1.7 - Archive of obsolete content
javascript 1.7 is a language
update introducing several new features, in particular generators, iterators, array comprehensions, let expressions, and destructuring assignment.
...in more recent firefox versions, the implementation is
updated to work with semantics as specified in ecmascript edition 6.
Common causes of memory leaks in extensions - Extensions
failing to clean up event listeners extensions can be disabled and removed by user actions, but it also happens when an add-on is
updated.
...when your add-on gets
updated and re-enabled, the previous module version that is still loaded will be used, which might break your add-on entirely.
Game distribution - Game development
instant
updates you don't have to wait several days to have your game's code
updated.
... if your user finds a bug, you can quickly fix it,
update the system and refresh the game on your server to provide players with the
updated code almost instantly.
Audio for Web games - Game development
if you space your individual sounds by at least 500ms then using the time
update event (which fires every 250ms) should be sufficient.
...s work: var myaudio = document.getelementbyid('myaudio'); var buttons = document.getelementsbytagname('button'); var stoptime = 0; for (var i = 0; i < buttons.length; i++) { buttons[i].addeventlistener('click', function() { myaudio.currenttime = this.getattribute("data-start"); stoptime = this.getattribute("data-stop"); myaudio.play(); }, false); } myaudio.addeventlistener('time
update', function() { if (this.currenttime > stoptime) { this.pause(); } }, false); note: you can try out our audio sprite player live on jsfiddle.
Bounce off the walls - Game development
add this to your code, somewhere below the existing variable declarations: var ballradius = 10; now
update the line that draws the ball inside the drawball() function to this: ctx.arc(x, y, ballradius, 0, math.pi*2); bouncing off the top and bottom there are four walls to bounce the ball off — let's focus on the top one first.
...
update the last code you added to this: if(x + dx > canvas.width-ballradius || x + dx < ballradius) { dx = -dx; } if(y + dy > canvas.height-ballradius || y + dy < ballradius) { dy = -dy; } when the distance between the center of the ball and the edge of the wall is exactly the same as the radius of the ball, it will change the movement direction.
Animations and tweens - Game development
applying the animation when the ball hits the paddle in the arcade.collide() method call that handles the collision between the ball and the paddle (the first line inside
update(), see below) we can add an extra parameter that specifies a function to be executed every time the collision happens, in the same fashion as the ballhitbrick() function.
...
update the first line inside
update() as shown below: function
update() { game.physics.arcade.collide(ball, paddle, ballhitpaddle); game.physics.arcade.collide(ball, bricks, ballhitbrick); paddle.x = game.input.x || game.world.width*0.5; } then we can create the ballhitpaddle() function (having ball and paddle as default parameters), playing the wobble animation when it is called.
Physics - Game development
add the following line, again at the bottom of create(): ball.body.velocity.set(150, 150); removing our previous
update instructions remember to remove our old method of adding values to x and y from the
update() function: function
update() { ball.x += 1; ball.y += 1; } we are now handling this properly, with a physics engine.
...; game.scale.pagealignhorizontally = true; game.scale.pagealignvertically = true; game.stage.backgroundcolor = '#eee'; game.load.image('ball', 'img/ball.png'); } function create() { game.physics.startsystem(phaser.physics.arcade); ball = game.add.sprite(50, 50, 'ball'); game.physics.enable(ball, phaser.physics.arcade); ball.body.velocity.set(150, 150); } function
update() { } try reloading index.html again — the ball should now be moving constantly in the given direction.
The score - Game development
updating the score when bricks are destroyed we will increase the number of points every time the ball hits a brick and
update the scoretext to display the current score.
... this can be done using the settext() method — add the two new lines seen below to the ballhitbrick() function: function ballhitbrick(ball, brick) { brick.kill(); score += 10; scoretext.settext('points: '+score); } that's it for now — reload your index.html and check that the score
updates on every brick hit.
OTA - MDN Web Docs Glossary: Definitions of Web-related terms
all device owners receiving a given set of
updates are on the same "channel", and each device often can access several channels (e.g.
... learn more general knowledge over-the-air programming on wikipedia creating and applying firefox os
update packages ...
RSS - MDN Web Docs Glossary: Definitions of Web-related terms
rss (really simple syndication) refers to several xml document formats designed for publishing site
updates.
... when you subscribe to a website's rss feed, the website sends information and
updates to your rss reader in an rss document called a feed, so you don't need to check all your favorite websites manually.
Accessible multimedia - Learn web development
last of all, add the following to the end of the code, to control the time elapsed display: player.ontime
update = function() { let minutes = math.floor(player.currenttime / 60); let seconds = math.floor(player.currenttime - minutes * 60); let minutevalue; let secondvalue; if (minutes<10) { minutevalue = "0" + minutes; } else { minutevalue = minutes; } if (seconds<10) { secondvalue = "0" + seconds; } else { secondvalue = seconds; } mediatime = minutevalue + ":" + sec...
...ondvalue; timelabel.textcontent = mediatime; }; each time the time
updates (once per second), we fire this function.
CSS values and units - Learn web development
note: at some point modern browsers were
updated so that rgba() and rgb(), and hsl() and hsla() (see below), became pure aliases of each other and started to behave exactly the same.
...this takes a value from 0–100%, where 0 is no light (it will appear completely black) and 100% is full light (it will appear completely white) we can
update the rgb example to use hsl colors like this: just as rgb has rgba, hsl has an hsla equivalent, which gives you the same ability to specify the alpha channel.
The HTML5 input types - Learn web development
to actually display the current value, and
update it as it changed, you must use javascript, but this is relatively easy to do: const price = document.queryselector('#price'); const output = document.queryselector('.price-output'); output.textcontent = price.value; price.addeventlistener('input', function() { output.textcontent = price.value; }); here we store references to the range input and the output in two variables.
...finally, an event listener is set to ensure that whenever the range slider is moved, the output's textcontent is
updated to the new value.
Test your skills: HTML5 controls - Learn web development
create appropriate inputs for a user to
update their details for: email website phone number favourite color try updating the live code below to recreate the finished example: download the starting point for this task to work in your own editor or in an online editor.
...if you do this correctly, the javascript included on the page will automatically
update the output value when the slider is moved.
Your first form - Learn web development
forms allow users to enter data, which is generally sent to a web server for processing and storage (see sending form data later in the module), or used on the client-side to immediately
update the interface in some way (for example, add another item to a list, or show or hide a ui feature).
...idgets: <form action="/my-handling-form-page" method="post"> <ul> <li> <label for="name">name:</label> <input type="text" id="name" name="user_name"> </li> <li> <label for="mail">e-mail:</label> <input type="email" id="mail" name="user_email"> </li> <li> <label for="msg">message:</label> <textarea id="msg" name="user_message"></textarea> </li> </ul> </form>
update your form code to look like the above.
Test your skills: Functions - Learn web development
you'll want to clear the canvas before drawing, so that when the code is
updated in the case of the live version, you don't get lots of rectangles drawn on top of one another.
...
update the choosename() function so that it makes use of the random number function, takes the array to choose from as a parameter (making it more flexible), and returns the result.
Video and Audio APIs - Learn web development
to do this we'll run a function to
update the time displays every time the time
update event is fired on the <video> element.
... add the following addeventlistener() line just below the others: media.addeventlistener('time
update', settime); now to define the settime() function.
JavaScript object basics - Learn web development
let's
update the javascript object in our file to look like this: const person = { name: ['bob', 'smith'], age: 32, gender: 'male', interests: ['music', 'skiing'], bio: function() { alert(this.name[0] + ' ' + this.name[1] + ' is ' + this.age + ' years old.
... setting object members so far we've only looked at retrieving (or getting) object members — you can also set (
update) the value of object members by simply declaring the member you want to set (using dot or bracket notation), like this: person.age = 45; person['name']['last'] = 'cratchit'; try entering the above lines, and then getting the members again to see how they've changed, like so: person.age person['name']['last'] setting members doesn't just stop at updating the values of existing properties and m...
Object prototypes - Learn web development
this is really useful, but what is even more useful is that the whole inheritance chain has
updated dynamically, automatically making this new method available on all object instances derived from the constructor.
...bye for now!'); }; but the farewell() method is still available on the person1 object instance — its members have been automatically
updated to include the newly defined farewell() method.
Properly configuring server MIME types - Learn web development
this article may contain out of date information, as it has not been significantly
updated in many years.
... related links incorrect mime type for css files iana | mime media types hypertext transfer protocol — http/1.1 microsoft - 293336 - info: webcast: mime type handling in microsoft internet explorer microsoft - appendix a: mime type detection in internet explorer microsoft - security
update, march 29, 2001 microsoft - security
update, december 13, 2001 original document information author: bob clary, date: 20 feb 2003 ...
Introduction to the server side - Learn web development
it can even allow interaction with users of the site, sending notifications and
updates via email or through other channels.
... because the information is in a database, it can also more easily be shared and
updated with other business systems (for example, when products are sold either online or in a shop, the shop might
update its database of inventory).
Ember resources and troubleshooting - Learn web development
general troubleshooting, gotchas, and misconceptions this is nowhere near an extensive list, but it is a list of things that came up around the time of writing (latest
update, may 2020).
... with ember-set-helper: <checkbox @value={{this.somedata}} @ontoggle={{set this "somedata" (not this.somedata)}} /> with ember-box: {{#let (box this.somedata) as |somedata|}} <checkbox @value={{unwrap somedata}} @ontoggle={{
update somedata (not this.somedata)}} /> {{/let}} note that none of these solutions are particularly common among members of the community, and as a whole, people are still trying to figure out an ergonomic and simple api for setting data in a template-only context, without backing js.
Git and GitHub - Learn web development
overview vcses are essential for software development: it is rare that you will work on a project completely on your own, and as soon as you start working with other people you start to run the risk of conflicting with each other's work — this is when both of you try to
update the same piece of code at the same time.
... mastering issues (from github) issues are like a forum for your github project, where people can ask questions and report problems, and you can manage
updates (for example assigning people to fix issues, clarifying the issue, letting people know things are fixed).
Command line crash course - Learn web development
it is also useful for automation — for example to write a command to
update the titles of hundreds of files instantly, say from “ch01-xxxx.png” to “ch02-xxxx.png”.
... if you
updated the file names using your finder or explorer gui app, it would take you a long time.
Adding phishing protection data providers
browser.safebrowsing.provider.idnum.
updateurl an url used to request an
updated list of phishing sites.
... the server either provides a full list or incremental
updates in order to bring the client's tables up to date.
Creating a Language Pack
$ cd ../../../mozilla-aurora and
update the source code to this revision.
... $ hg
update -r 237dccbcb967 3 files
updated, 0 files merged, 0 files removed, 0 files unresolved the source code has been
updated to the revision the binary was built from.
How Mozilla's build system works
0 created; 1
updated; 2187 unchanged total wall time: 5.03s; cpu time: 3.79s; efficiency: 75% what this is saying is that a total of 1,096 moz.build files were read.
...however, one was
updated as a result of the new configuration.
The Firefox codebase: CSS Guidelines
it is also good practice to look at whether the rule you are overriding is still needed: maybe the ux spec for the component has changed and that rule can actually be
updated or removed.
... when this is the case, don't be afraid to remove or
update that rule.
Listening to events on all tabs
optional from gecko 10 onprogresschange called when
updated progress information for the download of a document is available.
... void onprogresschange( nsidomxulelement abrowser, nsiwebprogress awebprogress, nsirequest arequest, print32 acurselfprogress, print32 amaxselfprogress, print32 acurtotalprogress, print32 amaxtotalprogress ); parameters abrowser the browser representing the tab for which
updated progress information is being provided.
Reviewer Checklist
idl uuids are
updated when the interface is
updated.
... android permissions should be 'grouped' into a common release to avoid breaking auto-
updates.
Working with Mozilla source code
interface development guide guidelines and documentation for how to create and
update xpcom interfaces.
...this article needs to be
updated fully for mercurial.
Multiple Firefox profiles
while using the nightly channel, you may encounter some add-ons that have become temporarily incompatible with new api changes, until the add-on developer has a chance to
update them.
...it takes little time to set up a new profile, and once it is complete, all of your firefox versions will
update separately and can be run simultaneously.
Using the Browser API
notice that this is also where we call the canmovebwd() and canmovefwd() functions we discussed earlier — it makes sense to
update the status of the back and forward buttons after each page reload.
... back to the stop/reload button — updating the icon is nice, but we also need to
update the functionality that is invoked when each icon is displayed.
MozBeforePaint
once you've called this, the mozbeforepaint event will be fired one time, when it's time for animations to be
updated for the window's next animation frame.
...this computes the current position for the animating box and
updates the box's position on screen, and, if the animation sequence is not yet complete, calls window.requestanimationframe() to schedule the next animation frame to be drawn.
Introduction to Layout in Mozilla
rs.reason set based on rc’s type incremental reflow propagate damage to frames later “in the flow” incremental reflow multiple reflow commands are batched nsreflowpath maintains a tree of target frames amortize state recovery and damage propagation cost painting as reflow proceeds through the frame hierarchy, areas are invalidated via nsiviewmanager::
updateview unless immediate, invalid areas are coalesced and processed asynchronously via os expose event native expose event dispatched to widget; widget delegates to the view manager view manager paints views back-to-front, invoking presshell’s paint method presshell::paint walks from the view to the frame; invokes nsiframe::paint for each layer incrementalism single-threaded ...
... original document information author(s): chris waterson last
updated date: june 10, 2002 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Download
this value starts at zero, and may be
updated regardless of the value of hasprogress.
... you should use the individual state properties instead, since this value may not be
updated after the last piece of data is transferred.
Log.jsm
until stabilized, expect frequent
updates, including different interfaces and behavior in different versions of the platform.
... logmessage(); length: 4 keys of prototype: leveldesc logger(); length: 2 keys of prototype: addappender(); level logstructured(); name parent removeappender();
updateappenders(); and the methods mentioned below: logger methods loggerrepository(); length: 0 keys of prototype: getlogger(); rootlogger storagestreamappender(); length: 1 keys of prototype: doappend(); getinputstream(); ...
Bootstrapping a new locale
mkdir -p ab-cd/browser/installer ab-cd/browser/profile/chrome ab-cd/browser/searchplugins ab-cd/browser/
updater ab-cd/toolkit cp -r mozilla-1.9.x/browser/locales/ ab-cd/browser cp -r mozilla-1.9.x/dom/locales/ ab-cd/dom cp -r mozilla-1.9.x/editor/locales/ ab-cd/editor cp -r mozilla-1.9.x/extensions/reporter/locales/chrome ab-cd/extensions cp -r mozilla-1.9.x/netwerk/locales/ ab-cd/netwerk cp -r mozilla-1.9.x/other-licenses/branding/firefox/locales/ ab-cd/other-licenses cp -r mozilla-1.9.x/security/manager...
...$ hg pull -u # to pull changes and
update $ hg push # to push changes to this repo import existing data?
MathML Torture Test
ath { font-family: minion math; } .stixtwo math { font-family: stix two math; } .texgyrebonum math { font-family: tex gyre bonum math; } .texgyrepagella math { font-family: tex gyre pagella math; } .texgyreschola math { font-family: tex gyre schola math; } .texgyretermes math { font-family: tex gyre termes math; } .xits math { font-family: xits math; } javascript content function
updatemathfont() { var mathfont = document.getelementbyid("mathfont").value; if (mathfont == "default") { document.body.removeattribute("class"); } else { document.body.setattribute("class", mathfont); } } function load() { document.getelementbyid("mathfont").
... addeventlistener("change",
updatemathfont, false) } window.addeventlistener("load", load, false); the following test contains sample tex formulas from knuth's tex book and equivalent mathml representations.
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 forums...
...sidje other contributors: frédéric wang last
updated date: april 4, 2010 copyright information: portions of this content are © 1999–2010 by individual mozilla.org contributors; content available under a creative commons license | details.
Mozilla DOM Hacking Guide
i will try to
update this guide as soon as possible.
... original document information author(s): fabian guisset last
updated date: september 27, 2007 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Scroll-linked effects
in the asynchronous scrolling model, the visual scroll position is
updated in the compositor thread and is visible to the user before the scroll event is
updated in the dom and fired on the main thread.
...one way to implement this without the scroll event listener is to use the css property designed for this purpose: <body style="height: 5000px"> <div id="toolbar" style="position: sticky; top: 0px; margin-top: 100px; width: 100px; height: 20px; background-color: green"></div> </body> this version works well with asynchronous scrolling because position of the "toolbar" div is
updated by the browser as the user scrolls.
A brief guide to Mozilla preferences
ation directory: greprefs.js - preferences shared by all applications using the mozilla platform services/common/services-common.js - preferences for some shared services code, this should arguably be included in some other file defaults/pref/services-sync.js - default preferences for firefox sync, also oddly misplaced browser/app/profile/channel-prefs.js - a file indicating the user's
update channel.
... this is kept separate from other preferences because it can affect how
updates are applied.
Patches and pushes
review, commit, & land address any review comments made by the reviewers and
update the patch until it receives an r+ rating.
...
update your sign-offs on the l10n dashboard to include the change into the next release.
Optimizing Applications For NSPR
this problem has been resolved and an
update will be appearing shortly.
... original document information author: larryh@netscape.com last
updated date: december 1, 2004 ...
PR_AtomicSet
description pr_atomicset first reads the value of var, then
updates it with the supplied value.
... the returned value is the value that was readbefore memory was
updated.
NSPR release process
five files need to be
updated: configure.in, configure, repackage.sh, prinit.h, and vercheck.c.
... usually you just need to
update prinit.h.
NSS 3.14 release notes
they should not use multi-part apis (c_encrypt
update/c_decrypt
update).
...back (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 mechanisms: ckm_aes_cts ckm_aes_ctr ckm_aes_gcm (see warnings against using c_encrypt
update/c_decrypt
update 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 macs, nss will now take advantage of optimized assembly code for common operations.
NSS 3.19.3 release notes
this is a patch release to
update the list of root ca certificates.
...gerprint: 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 sha1 fingerprint: 8a:5c:8c:ee:a5:03:e6:05:56:ba:d8:1b:d4:f6:c9:b0:ed:e5:2f:e0 cn = certinomis - root ca sha1 fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 the version number of the
updated root ca list has been set to 2.5 bugs fixed in nss 3.19.3 this bugzilla query returns all the bugs fixed in nss 3.19.3: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.19.3 compatibility nss 3.19.3 shared libraries are backward compatible with all older nss 3.19 shared libraries.
NSS 3.21 release notes
2016-01-07, this page has been
updated to include additional information about the release.
...wosign g2 sha1 fingerprint: fb:ed:dc:90:65:b7:27:20:37:bc:55:0c:9c:56:de:bb:f2:78:94:e1 cn = ca wosign ecc root sha1 fingerprint: d2:7a:d2:be:ed:94:c0:a1:3c:c7:25:21:ea:5d:71:be:81:19:f3:2b cn = oiste wisekey global root gb ca sha1 fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed the version number of the
updated root ca list has been set to 2.6 bugs fixed in nss 3.21 this bugzilla query returns all the bugs fixed in nss 3.21: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.21 acknowledgements the nss development team would like to thank karthikeyan bhargavan from inria for responsibly disclosing the issue in b...
NSS 3.28.1 release notes
this is a patch release to
update the list of root ca certificates, and address a minor tls compatibility issue, that some applications experienced with nss 3.28.
...rtification authority - g4 sha-256 fingerprint: fe:86:3d:08:22:fe:7a:23:53:fa:48:4d:59:24:e8:75:65:6d:3d:c9:fb:58:77:1f:6f:61:6f:9d:57:1b:c5:92 cn = symantec class 2 public primary certification authority - g6 sha-256 fingerprint: cb:62:7d:18:b5:8a:d5:6d:de:33:1a:30:45:6b:c6:5c:60:1a:4e:9b:18:de:dc:ea:08:e7:da:aa:07:81:5f:f0 the version number of the
updated root ca list has been set to 2.11 a misleading assertion/alert has been removed, when nss tries to flush data to the peer but the connection was already reset.
NSS 3.28.5 release notes
this is a patch release to
update the list of root ca certificates.
...0:35:dd:94:57 trust flags: email cn = tubitak kamu sm ssl kok sertifikasi - surum 1 sha-256 fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 trust flags: websites technically constrained to: gov.tr, k12.tr, pol.tr, mil.tr, tsk.tr, kep.tr, bel.tr, edu.tr, org.tr the version number of the
updated root ca list has been set to 2.14.
NSS 3.30.2 release notes
this is a patch release to
update the list of root ca certificates.
...0:35:dd:94:57 trust flags: email cn = tubitak kamu sm ssl kok sertifikasi - surum 1 sha-256 fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 trust flags: websites technically constrained to: gov.tr, k12.tr, pol.tr, mil.tr, tsk.tr, kep.tr, bel.tr, edu.tr, org.tr the version number of the
updated root ca list has been set to 2.14 (the version numbers 2.12 and 2.13 for the root ca list have been skipped.) bugs fixed in nss 3.30.2 bug 1350859 - march 2017 batch of root ca changes bug 1349705 - implemented domain name constraints for ca: tubitak kamu sm ssl kok sertifikasi - surum 1 compatibility nss 3.30.2 shared libraries are backward compatible with all older nss 3.x shared li...
NSS 3.37 release notes
nss 3.37 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_37_rtm/src/ notable changes in nss 3.37 the tls 1.3 implementation was
updated to draft 28.
... the ca certificates list was
updated to version 2.24.
NSS 3.56 release notes
notable changes in nss 3.56 nspr dependency
updated to 4.28.
... bug 1656519 -
update nspr dependency to 4.28.
NSS API Guidelines
for instance, in most ssl functions this is the nspr socket, or the ssl socket structure:
update, final, encrypt, decrypt type functions operating on their state contexts, etc.
... all hashing
update, macing
update, and encrypt/decrypt functions which act like filters should have a consistent signature: secstatus pk11_digestop(pk11context *context, unsigned char *inbuf, secbufferleninlen) functions like these which have different properties, for example, additional parameters, callbacks, etc., should insert their additional parameters between th...
NSS Developer Tutorial
please
update this list if you do.
...
update nss in mozilla-inbound and mozilla-central the procedure is documented at https://developer.mozilla.org/docs/updating_nspr_or_nss_in_mozilla-central.
NSS Sample Code sample3
, 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 << "digest
update 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 2 - hashing with included secret key */ cout << "part 2 -- hashing with included secret key" << endl;...
...&noparams); 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 << "digest
update 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...
PKCS 7 functions
mxr 3.2 and later sec_pkcs7createsigneddata mxr 3.2 and later sec_pkcs7decodeitem mxr 3.2 and later sec_pkcs7decoderabort mxr 3.9 and later sec_pkcs7decoderfinish mxr 3.2 and later sec_pkcs7decoderstart mxr 3.2 and later sec_pkcs7decoder
update mxr 3.2 and later sec_pkcs7decryptcontents mxr 3.2 and later sec_pkcs7destroycontentinfo mxr 3.2 and later sec_pkcs7encode mxr 3.3 and later sec_pkcs7encodeitem mxr 3.9.3 and later sec_pkcs7encoderabort mxr 3.9 and later sec_pkcs7e...
...ncoderfinish mxr 3.2 and later sec_pkcs7encoderstart mxr 3.2 and later sec_pkcs7encoder
update mxr 3.2 and later sec_pkcs7getcertificatelist mxr 3.2 and later sec_pkcs7getcontent mxr 3.2 and later sec_pkcs7getencryptionalgorithm mxr 3.2 and later sec_pkcs7getsignercommonname mxr 3.4 and later sec_pkcs7getsigneremailaddress mxr 3.4 and later sec_pkcs7getsigningtime mxr 3.4 and later sec_pkcs7includecertchain mxr 3.2 and later sec_pkcs7iscontentempty mxr 3.2 and later sec_pkcs7setcontent mx...
Build instructions
hg clone https://hg.mozilla.org/projects/nspr hg clone https://hg.mozilla.org/projects/nss if you want to build a releases other than the tips of these repositories, then switch to the release tags: cd nspr hg
update nspr_4_9_5_rtm cd ../nss hg
update nss_3_14_2_rtm cd ..
... to build with gcc on platforms other than linux and windows, you need to set two more environment variables: ns_use_gcc=1 no_md
update=1 for hp-ux, you must set the environment variable use_pthreads to 1.
Migration to HG
updated instructions for building nss with nspr can be found at: /docs/nss_reference/building_and_installing_nss/build_instructions it's best to refer to the above document to learn about the various environment variables that you might have to set to build on your platform (this part hasn't changed).
...orkarea cd workarea hg clone https://hg.mozilla.org/projects/nspr hg clone https://hg.mozilla.org/projects/nss cd nss # set use_64=1 on 64 bit architectures # set build_opt=1 to get an optimized build make nss_build_all note that the jss project has been given a private copy of the former mozilla/security/coreconf directory, allowing it to remain stable, and only
update its build system as necessary.
NSS reference
random number generation this api consists of the two routines used for pseudorandom number generation -- pk11_generaterandomonslot and pk11_generaterandom -- and the two routines used for seeding pseudorandom number generation -- pk11_seedrandom and pk11_random
update.
... sec_pkcs12createexportcontext sec_pkcs12createpasswordprivsafe sec_pkcs12createunencryptedsafe sec_pkcs12addcertandkey sec_pkcs12addpasswordintegrity sec_pkcs12enablecipher sec_pkcs12encode sec_pkcs12destroyexportcontext sec_pkcs12decoderstart sec_pkcs12decoderimportbags sec_pkcs12decoder
update sec_pkcs12decoderfinish sec_pkcs12decodervalidatebags sec_pkcs12decoderverify sec_pkcs12decodergetcerts sec_pkcs12decodersettargettokencas sec_pkcs12decoderiterateinit sec_pkcs12decoderiteratenext sec_pkcs12isencryptionallowed sec_pkcs12setpreferredcipher nspr functions a small number of nspr functions are required for using the certificate verification and ssl functions in nss.
S/MIME functions
nss_cmscontentinfo_setcontent_envelopeddata mxr 3.2 and later nss_cmscontentinfo_setcontent_signeddata mxr 3.2 and later nss_cmsdecoder_cancel mxr 3.2 and later nss_cmsdecoder_finish mxr 3.2 and later nss_cmsdecoder_start mxr 3.2 and later nss_cmsdecoder_
update mxr 3.2 and later nss_cmsdigestcontext_cancel mxr 3.2 and later nss_cmsdigestcontext_finishmultiple mxr 3.2 and later nss_cmsdigestcontext_finishsingle mxr 3.2 and later nss_cmsdigestcontext_startmultiple mxr 3.2 and later nss_cmsdigestcontext_startsingle ...
... mxr 3.2 and later nss_cmsdigestcontext_
update mxr 3.2 and later nss_cmsdigesteddata_create mxr 3.2 and later nss_cmsdigesteddata_destroy mxr 3.2 and later nss_cmsdigesteddata_getcontentinfo mxr 3.2 and later nss_cmsderencode mxr 3.2 and later nss_cmsencoder_cancel mxr 3.2 and later nss_cmsencoder_finish mxr 3.2 and later nss_cmsencoder_start mxr 3.2 and later nss_cmsencoder_
update mxr 3.2 and later nss_cmsencrypteddata_create mxr 3.2 and later nss_cmsencrypteddata_destroy mxr 3.2 and ...
NSS tools : signtool
-i scriptname specifies the name of an installer script for smart
update.
... this script installs files from the jar archive in the local system after smart
update has validated the digital signature.
Necko Architecture
it was last
updated in 1999.
... dependencies necko requires the following libraries for linking: nspr xpcom original document information author(s): jud valeski last
updated date: november 8, 1999 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Necko Interfaces Overview
it was last
updated in 2001.
... represents a physical connection, such as a file descriptor or a socket used directly by protocol handler implementations (as well as by mailnews and chatzilla) synchronous i/o methods: openinputstream, openoutputstream asynchronous i/o methods: asyncread, asyncwrite nsitransport::asyncread takes a nsistreamlistener parameter original document information author(s): darin fisher last
updated date: december 10, 2001 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Multithreading in Necko
it was last
updated in 2001.
... original document information author(s): darin fisher last
updated date: december 10, 2001 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Hacking Tips
$ valgrind --smc-check=all-non-file --vex-iropt-register-
updates=allregs-at-mem-access --vgdb-error=0 ./js … this command will tell you how to start gdb as a remote.
... $ valgrind --tool=callgrind --callgrind-out-file=bench.clg \ --smc-check=all-non-file --vex-iropt-register-
updates=allregs-at-mem-access ./js ./run.js the output file can then be use with kcachegrind which provides a graphical view of the call graph.
JS::DeflateStringToUTF8Buffer
if dstlenp is provided, it will be
updated to hold the number of bytes written to the buffer.
... if numcharsp is provided, it will be
updated to hold the number of unicode characters written to the buffer.
JS_ExecuteRegExp
a pointer to the lastindex for the execution, and received the
updated lastindex.
... js_executeregexp
updates the built-in regexp object's properties.
SpiderMonkey 1.8.7
the so-called "slow natives" are no longer supported; as such jsfastnative has been renamed to jsnative and relevant interfaces have been
updated accordingly.
...the jsval_to_double and double_to_jsval macros have been
updated to work directly on jsdoubles rather than their pointers, and the js_newdoublevalue and js_newdouble interfaces have been removed.
SpiderMonkey 24
new javascript language features javascript 24 includes significant
updates to language features, yo.
... typedef changes the fixed-size integer types introduced in spidermonkey 17 are defined in one of the following ways (xxx
update for msvc<10 deprecation): if the environment variable moz_custom_stdint_h is set, that file will be included to provide definitions for these types.
SpiderMonkey 31
many jsclass and js::class instances are now explicitly const, and several apis have been
updated to use const jsclass * and const js::class * pointers.
... new javascript language features javascript 31 includes significant
updates to language features, yo.
Redis Tips
i mean counters you can
update atomically.
... here's what the zset contains now: > r.zrange('last-login', 0, -1, print); // remember, i defined 'print' above ["jparsons", "zcarter", "lloyd"] since this is a set, lloyd only appears once, with
updated login timestamp.
A Web PKI x509 certificate primer
generate your ca root
update *.example.com and *.example.net below to match your domains.
...ycertsign, crlsign extendedkeyusage =serverauth authorityinfoaccess = ocsp;uri:http://ocsp.example.com:8888/ sign the intermediate csr with the root key and the intermediate extensions "openssl x509 -req -sha256 -days 2922 -in int.csr -cakey rootkey.pem -ca root.pem -set_serial $some_large_integer -out int.pem -extfile openssl.int.cnf" generate the end entity certificate
update www.example.com below to match your domain.
Embedded Dialog API
stay tuned for
updates.
... the dialog component's contract id should have the form "@mozilla.org/embedui/unique-component-name;1" original document information author: danm@netscape.com last
updated date: 15 dec 2001 ...
History Service Design
if a page can be added we first check if it exists already, then it is added or
updated accordingly to the previous check, and common attributes are set based on concurrent visit properties.
...a smart bookmark can
update itself automatically when bookmarks or visits change, providing a sort of saved search.
Manipulating bookmarks using Places
you can use the nsinavbookmarksservice.changebookmarkuri() method to
update the uri for a given bookmark item: var uri = ios.newuri("http://mozilla.com/", null, null); bmsvc.changebookmarkuri(newbkmkid, uri); this example changes the bookmark to refer to the mozilla web site instead of google.
... // an nsinavbookmarkobserver var myext_bookmarklistener = { onbegin
updatebatch: function() {}, onend
updatebatch: function() {}, onitemadded: function(aitemid, afolder, aindex) {}, onitemremoved: function(aitemid, afolder, aindex) {}, onitemchanged: function(abookmarkid, aproperty, aisannotationproperty, avalue) { myextension.dosomething(); }, onitemvisited: function(abookmarkid, avisitid, time) {}, onitemmoved: function(aitemid, aoldparent, aoldindex,...
Using the Places keywords API
a keyword can only be associated to a given url, it's not possible to associate the same keyword with multiple urls (doing so will just
update the url it's pointing to).
... placesutils.keywords.insert({ keyword: "my_keyword", url: "http://www.example.com/" postdata: "post+data=1&test=2" }).then(() => { /* success */ }, e => { /* failure */ }); note that setting an already existing keyword to a different url, will silently
update the existing keyword to the new url.
Finishing the Component
when your component runs in a version of gecko in which this interface is
updated, your method calls will be routed through a different v-table than the one the component expected, most likely resulting in a crash.
...the
updated weblock class looks as follows: class weblock: public nsiobserver, public iweblock, public nsicontentpolicy { public: weblock(); virtual ~weblock(); ns_decl_isupports ns_decl_nsiobserver ns_decl_iweblock ns_decl_nsicontentpolicy private: urlnode* mrooturlnode; prbool mlocked; }; remember to change the nsisupports implementation macro to include nsiconte...
Using XPCOM Utilities to Make Things Easier
using these declaration macros not only saves a tremendous amount of time when you're writing the code, it can also save time if you make changes to your idl file, since the c++ header file will then automatically include the
updated list of methods to be supported.
...this raw pointer can then be assigned to a variable and have its reference
updated by ns_if_addref.
IAccessibleText
provided for use by the ::ia2_event_text_inserted and ::ia2_event_text_
updated event handlers.
...provided for use by the ia2_event_text_removed/
updated event handlers.
mozIRegistry
a corollary is that the build/install process will require
updates to user "registry" to enable new class implementations to be accessible.
... original document information author: bill law last
updated date: january 21, 1999 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
nsIBrowserHistory
you should use moziasynchistory.
updateplaces() instead.
... adobatchnotify obsolete since gecko 9.0 if set to true, the begin
updatebatch and end
updatebatch events are sent; otherwise, no notification of changes to the history is provided.
nsICategoryManager
var content_type = 'application/pdf'; //
update the category manager in case the plugins are already loaded.
... let categorymanager = cc['@mozilla.org/categorymanager;1']; categorymanager.getservice(ci.nsicategorymanager).deletecategoryentry('gecko-content-viewers', content_type, false); //
update pref manager to prevent plugins from loading in future var stringtypes = ''; var types = []; var pref_disabled_plugin_types = 'plugin.disable_full_page_plugin_for_types'; if (services.prefs.prefhasuservalue(pref_disabled_plugin_types)) { stringtypes = services.prefs.getcharpref(pref_disabled_plugin_types); } if (stringtypes !== '') { types = stringtypes.split(','); } if (types.indexof(content_type) === -1) { types.push(content_type); } services.prefs.setcharpref(pref_disabled_plugin_types, types.join(',')); remarks categories have a variety of uses throughout the mozilla platform.
nsIDOMGeoPositionCallback
the nsidomgeopositioncallback interface is called when
updated position information is available.
...void handleevent( in nsidomgeoposition position ); parameters position an nsidomgeoposition object indicating the
updated location information.
nsIDOMWindowInternal
add-ons should be
updated to use nsidomwindow instead.
...if the name doesn't exist, then a new window is opened and the specified resource is loaded into its browsing context.">open(in domstring url, in domstring name, in domstring options) nsidomwindow nsisupports aextraargument) void close() void
updatecommands(in domstring action) boolean find([optional] in domstring 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) domstring atob(in domstring aasciistring) domstring btoa(in domstring abase64data) ...
nsIMsgDatabase
void getnewlist(out unsigned long count, array, size_is(count) out nsmsgkey newkeys); nsisimpleenumerator getcachedhits(in string asearchfolderuri); void refreshcache(in string asearchfolderuri, in unsigned long anumkeys, array, size_is (anumkeys) in nsmsgkey anewhits, out unsigned long anumbadhits, array, size_is(anumbadhits) out nsmsgkey astalehits); void
updatehdrincache(in string asearchfolderuri, in nsimsgdbhdr ahdr, in boolean aadd); boolean hdrisincache(in string asearchfolderuri, in nsimsgdbhdr ahdr); attributes attribute type description dbfolderinfo nsidbfolderinfo readonly: firstnew nsmsgkey readonly: msgretentionsettings nsimsgretentionsettings msgdownloadsettings nsimsgdownloadsettings lowwaterarticlenum nsmsgkey readonly...
... nsisimpleenumerator getcachedhits(in string asearchfolderuri); refreshcache() void refreshcache(in string asearchfolderuri, in unsigned long anumkeys, [array, size_is (anumkeys)] in nsmsgkey anewhits, out unsigned long anumbadhits, [array, size_is(anumbadhits)] out nsmsgkey astalehits);
updatehdrincache() void
updatehdrincache(in string asearchfolderuri, in nsimsgdbhdr ahdr, in boolean aadd); hdrisincache() boolean hdrisincache(in string asearchfolderuri, in nsimsgdbhdr ahdr); ...
nsINavHistoryResult
while the result waits to be collected it will stay in memory, and continue to
update itself, potentially causing unwanted additional work.
...changing this value
updates the corresponding options for the result so that reusing the current options and queries will always return results based on the current view.
nsIXULAppInfo
has to be defined for advanced application features such as the extension manager and
update service.
...can be an empty string, but a valid value is required for xul applications using the extension manager or
update service.
Address book sync client design
it was imported from mozilla.org and last
updated in 2000.
... // // step 1: // when the user begins a sync, run through the local database and
update the // sync mapping table.
Thunderbird Binaries
trunk builds contain the very latest bleeding-edge changes and
updates, as well as 64-bit builds for windows.
...trunk builds contain the very latest bleeding-edge changes and
updates.
Building a Thunderbird extension 6: Adding JavaScript
window.addeventlistener("load", function(e) { startup(); }, false); window.setinterval( function() { startup(); }, 60000); //
update date every minute function startup() { var mypanel = document.getelementbyid("my-panel"); var date = new date(); var day = date.getday(); var datestring = date.getfullyear() + "." + (date.getmonth()+1) + "." + date.getdate(); mypanel.label = "date: " + datestring; } the first part registers a new event listener that will be executed automatically when thunderbird loads.
... we use the function window.setinterval to
update the date in case thunderbird is left running for more than one day.
Toolkit version format
this format is used by the extension manager, software
update, and other parts of the platform.
... versions in at least the following places must conform to this format: addon's and target application's version in install and
update manifests.
Blocking By Domain - Plugins
list contents and
updates the plugin block lists are freely-licensed lists maintained by mozilla in github.
...subsequent
updates to the list will be made using telemetry from firefox experiments.
Version, UI, and Status Information - Plugins
displaying a status line message users are accustomed to checking the ui status line at the bottom of the browser window for
updates on the progress of an operation or the url of a link on the page.
...consider using this function as part of the plug-in's smart
update process.
Edit fonts - Firefox Developer Tools
note: the
updated font tools as shown in this article are available in firefox 63 onwards; if you are using an older version of firefox the tools will not look or behave quite the same, but they will be similar (most notably the font editor will not be available).
... you can adjust the axes individually or, if the font designer has included defined instances, you can select one from the "instance" drop-down list and view the
updates live on your page.
about:debugging (before Firefox 68) - Firefox Developer Tools
updating a temporary add-on if you install the add-on in this way, what happens when you
update the add-on's files?
...as soon as a worker is registered, the listing is
updated: before firefox 47, service workers were only shown when they were actually running.
about:debugging - Firefox Developer Tools
updating a temporary extension if you install an extension in this way, what happens when you
update the extension?
...until such time as firefox for android is
updated to a newer major release, in synch with desktop firefox, you should use one of the following firefox for android versions: firefox preview, if your desktop firefox is the main release or developer edition firefox for android nightly if you prefer to test with the main release of firefox for android (i.e., based on release 68), you can do so with the desktop firefox extended support release...
AudioContext.createMediaElementSource() - Web APIs
when the mouse pointer is moved, the
updatepage() function is invoked, which calculates the current gain as a ratio of mouse y position divided by overall window height.
...osourcenode // feed the htmlmediaelement into it var source = audioctx.createmediaelementsource(myaudio); // create a gain node var gainnode = audioctx.creategain(); // create variables to store mouse pointer y coordinate // and height of screen var cury; var height = window.innerheight; // get new mouse pointer coordinates when mouse is moved // then set new gain value document.onmousemove =
updatepage; function
updatepage(e) { cury = (window.event) ?
AudioTrackList.onchange - Web APIs
example this snippet establishes a handler for the change event that looks at each of the tracks in the list, calling a function to
update the state of a user interface control that indicates the current state of the track.
... var tracklist = document.queryselector("video").audiotracks; tracklist.onchange = function(event) { tracklist.foreach(function(track) {
updatetrackenabledbutton(track.id, track.enabled); }); }; the
updatetrackenabledbutton(), in this example, should be a function that finds a user interface control using the track's id (perhaps the app uses the track id as the control element's id) and the track's enabled flag to determine which state the control should be in now.
Battery Status API - Web APIs
navigator.getbattery().then(function(battery) { function
updateallbatteryinfo(){
updatechargeinfo();
updatelevelinfo();
updatecharginginfo();
updatedischarginginfo(); }
updateallbatteryinfo(); battery.addeventlistener('chargingchange', function(){
updatechargeinfo(); }); function
updatechargeinfo(){ console.log("battery charging?
..."yes" : "no")); } battery.addeventlistener('levelchange', function(){
updatelevelinfo(); }); function
updatelevelinfo(){ console.log("battery level: " + battery.level * 100 + "%"); } battery.addeventlistener('chargingtimechange', function(){
updatecharginginfo(); }); function
updatecharginginfo(){ console.log("battery charging time: " + battery.chargingtime + " seconds"); } battery.addeventlistener('dischargingtimechange', function(){
updatedischarginginfo(); }); function
updatedischarginginfo(){ console.log("battery discharging time: " + battery.dischargingtime + " seconds"); } }); see also the example in the specification.
Using the CSS Typed Object Model - Web APIs
update the javascript on line 2 to select the <p> rather than the <a>.
... .get() method / custom properties let's
update our example to only retrieve a few properties and values.
Cache - Web APIs
in a serviceworker) handles cache
updates.
... items in a cache do not get
updated unless explicitly requested; they don’t expire unless deleted.
Basic animations - Web APIs
scheduled
updates first there's the window.setinterval(), window.settimeout(), and window.requestanimationframe() functions, which can be used to call a specific function over a set period of time.
... requestanimationframe(callback) tells the browser that you wish to perform an animation and requests that the browser call a specified function to
update an animation before the next repaint.
Document.cookie - Web APIs
note that you can only set/
update a single cookie at a time using this method.
... consider also that: any of the following cookie attribute values can optionally follow the key-value pair, specifying the cookie to set/
update, and preceded by a semi-colon separator: ;path=path (e.g., '/', '/mydir') if not specified, defaults to the current path of the current document location.
Introduction to the DOM - Web APIs
you can
update the contents of the test() function as needed, create more buttons, or add elements as necessary.
... figure 0.1 sample dom test page in this example, the drop-down menus dynamically
update such dom—accessible aspects of the web page as its background color (bgcolor), the color of the hyperlinks (alink), and color of the text (text).
EventSource - Web APIs
for example, eventsource is a useful approach for handling things like social media status
updates, news feeds, or delivering data into a client-side storage mechanism like indexeddb or web storage.
... const sse = new eventsource('/api/v1/sse'); /* this will listen only for events * similar to the following: * * event: notice * data: useful data * id: someid * */ sse.addeventlistener("notice", function(e) { console.log(e.data) }) /* similarly, this will listen for events * with the field `event:
update` */ sse.addeventlistener("
update", function(e) { console.log(e.data) }) /* the event "message" is a special case, as it * will capture events without an event field * as well as events that have the specific type * `event: message` it will not trigger on any * other event type.
FetchEvent - Web APIs
if it finds a match in the cache, it asynchronously
updates the cache for next time.
... const cache = await caches.open('dynamic-v1'); const cachedresponse = await cache.match(event.request); if (cachedresponse) { // if we found a match in the cache, return it, but also //
update the entry in the cache in the background.
GeolocationCoordinates.longitude - Web APIs
from the geolocationposition object, we obtain the user's latitude and longitude using position.coords.latitude and position.coords.longitude so we can
update the displayed coordinates.
... the two <span> elements are
updated to display the corresponding values after being converted to a value with two decimal places.
Using the Geolocation API - Web APIs
watching the current position if the position data changes (either by device movement or if more accurate geo information arrives), you can set up a callback function that is called with that
updated position information.
...the callback function is called multiple times, allowing the browser to either
update your location as you move, or provide a more accurate location as different techniques are used to geolocate you.
HTMLDialogElement.open - Web APIs
id="favanimal" name="favanimal"> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select></p> </section> <menu> <button id="cancel" type="reset">cancel</button> <button type="submit">confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <script> (function() { var
updatebutton = document.getelementbyid('
updatedetails'); var cancelbutton = document.getelementbyid('cancel'); var dialog = document.getelementbyid('favdialog'); dialog.returnvalue = 'favanimal'; function opencheck(dialog) { if(dialog.open) { console.log('dialog open'); ...
... } else { console.log('dialog closed'); } } //
update button opens a modal dialog
updatebutton.addeventlistener('click', function() { dialog.showmodal(); opencheck(dialog); }); // form cancel button closes the dialog box cancelbutton.addeventlistener('click', function() { dialog.close('animalnotchosen'); opencheck(dialog); }); })(); </script> note: you can find this example on github as htmldialogelement-basic (see it live also).
HTMLDialogElement.returnValue - Web APIs
<p><label>favorite animal: <select name="favanimal" required> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select> </label></p> <menu> <button>cancel</button> <button>confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <script> (function() { var
updatebutton = document.getelementbyid('
updatedetails'); var dialog = document.getelementbyid('favdialog'); dialog.returnvalue = 'favanimal'; function opencheck(dialog) { if (dialog.open) { console.log('dialog open'); } else { console.log('dialog closed'); ...
... } } function handleuserinput(returnvalue) { if (returnvalue === 'cancel' || returnvalue == null) { // user canceled the dialog, do nothing } else if (returnvalue === 'confirm') { // user chose a favorite animal, do something with it } } // “
update details” button opens the <dialog> modally
updatebutton.addeventlistener('click', function() { dialog.showmodal(); opencheck(dialog); handleuserinput(dialog.returnvalue); }); })(); </script> note: you can find this example on github as htmldialogelement-basic (see it live also).
HTMLDialogElement.show() - Web APIs
id="favanimal" name="favanimal"> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select></p> </section> <menu> <button id="cancel" type="reset">cancel</button> <button type="submit">confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <script> (function() { var
updatebutton = document.getelementbyid('
updatedetails'); var cancelbutton = document.getelementbyid('cancel'); var dialog = document.getelementbyid('favdialog'); dialog.returnvalue = 'favanimal'; function opencheck(dialog) { if(dialog.open) { console.log('dialog open'); ...
... } else { console.log('dialog closed'); } } //
update button opens a modal dialog
updatebutton.addeventlistener('click', function() { dialog.showmodal(); opencheck(dialog); }); // form cancel button closes the dialog box cancelbutton.addeventlistener('click', function() { dialog.close('animalnotchosen'); opencheck(dialog); }); })(); </script> specifications specification status comment html living standardthe definition of 'show()' in that specification.
HTMLDialogElement.showModal() - Web APIs
id="favanimal" name="favanimal"> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select></p> </section> <menu> <button id="cancel" type="reset">cancel</button> <button type="submit">confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <script> (function() { var
updatebutton = document.getelementbyid('
updatedetails'); var cancelbutton = document.getelementbyid('cancel'); var dialog = document.getelementbyid('favdialog'); dialog.returnvalue = 'favanimal'; function opencheck(dialog) { if(dialog.open) { console.log('dialog open'); ...
... } else { console.log('dialog closed'); } } //
update button opens a modal dialog
updatebutton.addeventlistener('click', function() { dialog.showmodal(); opencheck(dialog); }); // form cancel button closes the dialog box cancelbutton.addeventlistener('click', function() { dialog.close('animalnotchosen'); opencheck(dialog); }); })(); </script> note: you can find this example on github as htmldialogelement-basic (see it live also).
HTMLDialogElement - Web APIs
id="favanimal" name="favanimal"> <option></option> <option>brine shrimp</option> <option>red panda</option> <option>spider monkey</option> </select></p> </section> <menu> <button id="cancel" type="reset">cancel</button> <button type="submit">confirm</button> </menu> </form> </dialog> <menu> <button id="
updatedetails">
update details</button> </menu> <script> (function() { var
updatebutton = document.getelementbyid('
updatedetails'); var cancelbutton = document.getelementbyid('cancel'); var dialog = document.getelementbyid('favdialog'); dialog.returnvalue = 'favanimal'; function opencheck(dialog) { if(dialog.open) { console.log('dialog open'); ...
... } else { console.log('dialog closed'); } } //
update button opens a modal dialog
updatebutton.addeventlistener('click', function() { dialog.showmodal(); opencheck(dialog); }); // form cancel button closes the dialog box cancelbutton.addeventlistener('click', function() { dialog.close('animalnotchosen'); opencheck(dialog); }); })(); </script> note: you can find this example on github as htmldialogelement-basic (see it live also).
HTMLElement: beforeinput event - Web APIs
bubbles yes cancelable yes interface inputevent event handler property none sync / async sync composed yes default action
update the dom element examples this example logs current value of the element immediately before replacing that value with the new one applied to the <input> element.
... html <input placeholder="enter some text" name="name"/> <p id="values"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('values'); input.addeventlistener('beforeinput',
updatevalue); function
updatevalue(e) { log.textcontent = e.target.value; } result specifications specification status ui eventsthe definition of 'beforeinput event' in that specification.
HTMLFormElement.elements - Web APIs
this is a live collection; if form controls are added to or removed from the form, this collection will
update to reflect the change.
... var inputs = document.getelementbyid("my-form").elements; // iterate over the form controls for (i = 0; i < inputs.length; i++) { if (inputs[i].nodename === "input" && inputs[i].type === "text") { //
update text input inputs[i].value.tolocaleuppercase(); } } disabling form controls var inputs = document.getelementbyid("my-form").elements; // iterate over the form controls for (i = 0; i < inputs.length; i++) { // disable all form controls inputs[i].setattribute("disabled", ""); } specifications specification status comment html living standardthe definition of...
HTMLImageElement.height - Web APIs
<p>image height: <span class="size">?</span>px (resize to
update)</p> <img src="/files/17373/clock-demo-200px.png" alt="clock" srcset="/files/17373/clock-demo-200px.png 200w, /files/17374/clock-demo-400px.png 400w" sizes="(max-width: 400px) 200px, 300px"> javascript the javascript code looks at the height to determine the height of the image given the width at which it's currently drawn.
... var clockimage = document.queryselector("img"); let output = document.queryselector(".size"); const
updateheight = event => { output.innertext = clockimage.height; }; window.addeventlistener("load",
updateheight); window.addeventlistener("resize",
updateheight); result this example may be easier to try out in its own window.
HTMLImageElement.width - Web APIs
<p>image width: <span class="size">?</span>px (resize to
update)</p> <img src="/files/16864/clock-demo-200px.png" alt="clock" srcset="/files/16864/clock-demo-200px.png 200w, /files/16797/clock-demo-400px.png 400w" sizes="(max-width: 400px) 200px, 400px"> javascript the javascript code looks at the width to determine the width of the image at the moment.
... var clockimage = document.queryselector("img"); let output = document.queryselector(".size"); const
updatewidth = event => { output.innertext = clockimage.width; }; window.addeventlistener("load",
updatewidth); window.addeventlistener("resize",
updatewidth); result this example may be easier to try out in its own window.
HTMLMediaElement - Web APIs
durationchange fired when the duration attribute has been
updated.
... time
update fired when the time indicated by the currenttime attribute has been
updated volumechange fired when the volume has changed.
HTMLTableElement - Web APIs
the htmlcollection is live and is automatically
updated when the htmltableelement changes.
...the htmlcollection is live and is automatically
updated when the htmltableelement changes.
Drag Operations - Web APIs
the mouse pointer will
update as necessary depending on the value of the dropeffect property.
... however, you can also
update the user interface with an insertion point or highlight as needed.
Working with the History API - Web APIs
here too, going back doesn't change the document's contents from what they were in the previous step, although the document might
update its contents manually upon receiving the popstate event.
... replacestate() is particularly useful when you want to
update the state object or url of the current history entry in response to some user action.
IDBCursor - Web APIs
idbcursor.
update() returns an idbrequest object, and, in a separate thread,
updates the value at the current position of the cursor in the object store.
... this can be used to
update specific records.
IDBIndex - Web APIs
the records in an index are automatically populated whenever records in the referenced object store are inserted,
updated, or deleted.
...when the object store changes, all indexes that refers to the object store are automatically
updated.
IDBRequest.error - Web APIs
example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store.
....) var title = "walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the do-do list with the specified title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item // back into the database var
updatetitlerequest = objectstore.put(data); // when this new request succeeds, run the displaydata() // function again to
update the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; objectstoretitlerequest.one...
IDBRequest.onerror - Web APIs
}; example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store.
..."walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as it's title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item back // into the database var
updatetitlerequest = objectstore.put(data); // when this new request succeeds, run the displaydata() // function again to
update the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; objectstoretitlerequest.one...
IDBRequest.onsuccess - Web APIs
}; example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store.
..."walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as it's title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item back // into the database var
updatetitlerequest = objectstore.put(data); // when this new request succeeds, run the displaydata() // function again to
update the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; specifications sp...
IDBRequest.result - Web APIs
syntax var myresult = request.result; value any example the following example requests a given record title, onsuccess gets the associated record from the idbobjectstore (made available as objectstoretitlerequest.result),
updates one property of the record, and then puts the
updated record back into the object store.
..."walk dog"; // open up a transaction as usual var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); // get the to-do list object that has this title as it's title var objectstoretitlerequest = objectstore.get(title); objectstoretitlerequest.onsuccess = function() { // grab the data object returned as the result var data = objectstoretitlerequest.result; //
update the notified value in the object to "yes" data.notified = "yes"; // create another request that inserts the item // back into the database var
updatetitlerequest = objectstore.put(data); // when this new request succeeds, run the displaydata() // function again to
update the display
updatetitlerequest.onsuccess = function() { displaydata(); }; }; specifications sp...
IndexedDB API - Web APIs
you need to specify the database schema, open a connection to your database, and then retrieve and
update data within a series of transactions.
...they are still documented in case you need to
update previously written code: idbversionchangerequest represents a request to change the version of a database.
install - Web APIs
as with the older startsoftware
update method, xpis installed with this method must have their own install.js files in which the full installation is defined.
... in contrast to startsoftware
update, install allows you to do multiple installs with the same trigger and provides a unified user experience for the multiple installs.
InstallTrigger - Web APIs
note: this article needs to be
updated somewhat.
... startsoftware
update triggers the downloading and installation of the software at the specified url.
MediaElementAudioSourceNode - Web APIs
when the mouse pointer is moved, the
updatepage() function is invoked, which calculates the current gain as a ratio of mouse y position divided by overall window height.
...osourcenode // feed the htmlmediaelement into it var source = audioctx.createmediaelementsource(myaudio); // create a gain node var gainnode = audioctx.creategain(); // create variables to store mouse pointer y coordinate // and height of screen var cury; var height = window.innerheight; // get new mouse pointer coordinates when mouse is moved // then set new gain value document.onmousemove =
updatepage; function
updatepage(e) { cury = (window.event) ?
MediaSession.setPositionState() - Web APIs
the mediasession method setpositionstate() is used to
update the current document's media playback position and speed for presentation by user's device in any kind of interface that provides details about ongoing media.
... syntax navigator.mediasession.setpositionstate(statedict); parameters statedict optional an object conforming to the mediapositionstate dictionary, providing
updated information about the playback position and speed of the document's ongoing media.
MediaSource.duration - Web APIs
invalidstateerror mediasource.readystate is not equal to open, or one or more of the sourcebuffer objects in mediasource.sourcebuffers are being
updated (i.e.
... example the following snippet is based on a simple example written by nick desaulniers (view the full demo live, or download the source for further investigation.) function sourceopen (_) { //console.log(this.readystate); // open var mediasource = this; var sourcebuffer = mediasource.addsourcebuffer(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('
updateend', function (_) { mediasource.endofstream(); mediasource.duration = 120; video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; ...
MediaSource.endOfStream() - Web APIs
return value undefined exceptions exception explanation invalidstateerror mediasource.readystate is not equal to open, or one or more of the sourcebuffer objects in mediasource.sourcebuffers are being
updated (i.e.
...rc = url.createobjecturl(mediasource); mediasource.addeventlistener('sourceopen', sourceopen); } else { console.error('unsupported mime type or codec: ', mimecodec); } function sourceopen (_) { //console.log(this.readystate); // open var mediasource = this; var sourcebuffer = mediasource.addsourcebuffer(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('
updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; specifications specification status comment media source extensionsthe definition of 'endofstream()' in that specification.
Navigator.registerProtocolHandler() - Web APIs
syntax navigator.registerprotocolhandler(scheme, url, title); note: recently
updated to navigator.registerprotocolhandler(scheme, url), but no browsers currently support this version.
...it is recommended to always set the title, since browsers that support the
updated spec most likely will be backwards-compatible and still accept the title (but not use it).
Navigator.onLine - Web APIs
the property sends
updates whenever the browser's ability to connect to the network changes.
... the
update occurs when the user follows links or when a script requests a remote page.
PaymentMethodChangeEvent - Web APIs
properties in addition to the properties below, this interface includes properties inherited from paymentrequest
updateevent.
... methods this interface includes methods inherited from paymentrequest
updateevent.
PaymentRequest.onshippingaddresschange - Web APIs
to make sure an
updated address is included when sending payment information to the server, you should add event listeners for a paymentrequest object after instantiation, but before the call to show().
...var payment = new paymentrequest(supportedinstruments, details, options); request.addeventlistener('shippingaddresschange', function(evt) { evt.
updatewith(new promise(function(resolve) {
updatedetails(details, request.shippingaddress, resolve); })); }); payment.show().then(function(paymentresponse) { // processing of paymentresponse exerpted for the same of clarity.
PaymentRequest.onshippingoptionchange - Web APIs
to make sure an
updated option is included when sending payment information to the server, you should add event listeners for a paymentrequest object after instantiation, but before the call to show().
...var request = new paymentrequest(supportedinstruments, details, options); // when user selects a shipping address request.addeventlistener('shippingaddresschange', e => { e.
updatewith(((details, addr) => { var shippingoption = { id: '', label: '', amount: { currency: 'usd', value: '0.00' }, selected: true }; // shipping to us is supported if (addr.country === 'us') { shippingoption.id = 'us'; shippingoption.label = 'standard shipping in us'; shippingoption.amount.value = '0.00'; details.total.amount.value = '55.00'; // shipping to jp is supported } else if (addr.country === 'jp') { shippingoption.id = 'jp'; shippingoption.label = 'inter...
PaymentResponse: payerdetailchange event - Web APIs
if any are invalid, appropriate error messages should be configured and the retry() method should be called on the paymentresponse to ask the user to
update the invalid entries.
... bubbles no cancelable no interface paymentrequest
updateevent event handler property onpayerdetailchange examples in the example below, onpayerdetailchange is used to set up a listener for the payerdetailchange event in order to validate the information entered by the user, requesting that any mistakes be corrected // options for paymentrequest(), indicating that shipping address, // payer email address, name, and phone number all be collected.
Payment Request API - Web APIs
paymentrequest
updateevent enables the web page to
update the details of the payment request in response to a user action.
... paymentdetails
update an object describing changes that need to be made to the payment details in the event that the server needs to
update information following the instantiation of the payment interface but before the user begins to interact with it.
PointerEvent - Web APIs
pointerraw
update this event is fired when any of a pointer's properties change.
... editor's draft added the getcoalescedevents() and getpredictedevents() methods and pointerraw
update event.
Using Pointer Events - Web APIs
its responsibility in this example is to
update the cached touch information and to draw a line from the previous position to the current position of each touch.
...); // and a square at the end ongoingtouches.splice(idx, 1); // remove it; we're done } else { log("can't figure out which touch to end"); } } this is very similar to the previous function; the only real differences are that we draw a small square to mark the end and that when we call array.splice(), we simply remove the old entry from the ongoing touch list, without adding in the
updated information.
RTCPeerConnection.createOffer() - Web APIs
the sdp offer includes information about any mediastreamtracks already attached to the webrtc session, codec, and options supported by the browser, and any candidates already gathered by the ice agent, for the purpose of being sent over the signaling channel to a potential peer to request a connection or to
update the configuration of an existing connection.
...you should
update any existing code to use the promise-based version of createoffer() instead.
RTCPeerConnection: signalingstatechange event - Web APIs
bubbles no cancelable no interface event event handler property rtcpeerconnection.onsignalingstatechange examples given an rtcpeerconnection, pc, and an
updatestatus() function that presents status information to the user, this code sets up an event handler to let the user know when the ice negotiation process finishes up.
... pc.addeventlistener("signalingstatechange", ev => { switch(pc.signalingstate) { case "stable":
updatestatus("ice negotiation complete"); break; } }, false); using onsignalingstatechange, it looks like this: pc.onsignalingstatechange = ev => { switch(pc.signalingstate) { case "stable":
updatestatus("ice negotiation complete"); break; } }; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'signalingstatechange' in that specification.
RTCRtpSender.setParameters() - Web APIs
in other words, setparameters()
updates the configuration of the rtp transmission as well as the encoding configuration for a specific media track on the webrtc connection.
... return value a promise that resolves when the rtcrtpsender.track property is
updated with the given parameters.
SourceBuffer.abort() - Web APIs
for example, consider this code: sourcebuffer.addeventlistener('
updateend', function (_) { ...
... }); sourcebuffer.appendbuffer(buf); let's say that after the call to appendbuffer but before the
updateend event fires (i.e.
Storage.setItem() - Web APIs
the setitem() method of the storage interface, when passed a key name and value, will add that key to the given storage object, or
update that key's value if it already exists.
... syntax storage.setitem(keyname, keyvalue); parameters keyname a domstring containing the name of the key you want to create/
update.
Storage - Web APIs
storage.setitem() when passed a key name and value, will add that key to the storage, or
update that key's value if it already exists.
...if it does, we run a function called setstyles() that grabs the data items using storage.getitem() and uses those values to
update page styles.
SubtleCrypto.exportKey() - Web APIs
/* convert an arraybuffer into a string from https://developers.google.com/web/
updates/2012/06/how-to-convert-arraybuffer-to-and-from-string */ function ab2str(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } /* export the given key and write it into the "exported-key" space.
... /* convert an arraybuffer into a string from https://developers.google.com/web/
updates/2012/06/how-to-convert-arraybuffer-to-and-from-string */ function ab2str(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } /* export the given key and write it into the "exported-key" space.
SubtleCrypto.importKey() - Web APIs
/* convert a string into an arraybuffer from https://developers.google.com/web/
updates/2012/06/how-to-convert-arraybuffer-to-and-from-string */ function str2ab(str) { const buf = new arraybuffer(str.length); const bufview = new uint8array(buf); for (let i = 0, strlen = str.length; i < strlen; i++) { bufview[i] = str.charcodeat(i); } return buf; } const pemencodedkey = `-----begin private key----- miievqibadanbgkqhkig9w0baqefaascbkcwggsjageaaoibaqdd0tpv/du2vftjvxj1t/...
... // from https://developers.google.com/web/
updates/2012/06/how-to-convert-arraybuffer-to-and-from-string function str2ab(str) { const buf = new arraybuffer(str.length); const bufview = new uint8array(buf); for (let i = 0, strlen = str.length; i < strlen; i++) { bufview[i] = str.charcodeat(i); } return buf; } const pemencodedkey = `-----begin public key----- miibijanbgkqhkig9w0baqefaaocaq8amiibcgkcaqeay3xo3u13dc+x...
Touch events - Web APIs
its responsibility in this example is to
update the cached touch information and to draw a line from the previous position to the current position of each touch.
...at the end ongoingtouches.splice(idx, 1); // remove it; we're done } else { console.log("can't figure out which touch to end"); } } } this is very similar to the previous function; the only real differences are that we draw a small square to mark the end and that when we call array.splice(), we simply remove the old entry from the ongoing touch list, without adding in the
updated information.
VideoTrackList.onchange - Web APIs
example this snippet establishes a handler for the change event that looks at each of the tracks in the list, calling a function to
update the state of a user interface control that indicates the current state of the track.
... var tracklist = document.queryselector("video").videotracks; tracklist.onchange = function(event) { tracklist.foreach(function(track) {
updatetrackselectedbutton(track.id, track.selected); }); }; the
updatetrackselectedbutton(), in this example, should be a function that finds a user interface control using the track's id (perhaps the app uses the track id as the control element's id) and the track's selected flag to determine which state the control should be in now.
A basic 2D WebGL animation example - Web APIs
that's done here by calling requestanimationframe(), which asks that a callback function be executed the next time the browser is ready to
update the screen.
...then the value of previoustime is
updated and we call animatescene() to draw the next frame (and in turn schedule the next frame to be drawn, ad infinitum).
Matrix math for the web - Web APIs
the focus in the glmatrix library is to have target arrays that are allocated before the
update loop.
... <div id='move-me' class='transformable'> <h2>move me with a matrix</h2> <p>lorem ipsum dolor sit amet, consectetur adipisicing elit...</p> </div> finally, for each of the examples we will generate a 4x4 matrix, then
update the <div>'s style to have a transform applied to it, set to a matrix3d.
Establishing a connection: The WebRTC perfect negotiation pattern - Web APIs
perfect negotiation with the
updated api as shown in the section implementing perfect negotiation, we can eliminate this problem by introducing a variable (here called makingoffer) which we use to indicate that we are in the process of sending an offer, and making use of the
updated setlocaldescription() method: let makingoffer = false; pc.onnegotiationneeded = async () => { try { makingoffer = true; await pc.setlocald...
... perfect negotiation with the
updated api the
updated code takes advantage of the fact that you can now call setlocaldescription() with no parameters so it just does the right thing for you, as well as the fact that setremotedescription() automatically rolls back if necessary.
Using bounded reference spaces - Web APIs
ll; let spacetype = null; function onsessionstarted(session) { xrsession = session; spacetype = "bounded-floor"; xrsession.requestreferencespace(spacetype) .then(onrefspacecreated) .catch(() => { spacetype = "local-floor"; xrsession.requestreferencespace(spacetype) .then(onrefspacecreated) .catch(handleerror); }); } function onrefspacecreated(refspace) { xrsession.
updaterenderstate({ baselayer: new xrwebgllayer(xrsession, gl) }); // now set up matrices, create a secondary reference space to // transform the viewer's pose, and so forth.
... this would change the onrefspacecreated() method from the above snippet to: function onrefspacecreated(refspace) { xrsession.
updaterenderstate({ baselayer: new xrwebgllayer(xrsession, gl) }); let startposition = vec3.fromvalues(0, 1.5, 0); const startorientation = vec3.fromvalues(0, 0, 1.0); xrreferencespace = xrreferencespace.getoffsetreferencespace( new xrrigidtransform(startposition, startorientation)); xrsession.requestanimationframe(ondrawframe); } in this code, executed after the reference sp...
Using the Web Speech API - Web APIs
ple demo, so we are just specifying one (which is actually the default anyway.) recognition.grammars = speechrecognitionlist; recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; starting the speech recognition after grabbing references to the output <div> and the html element (so we can output diagnostic messages and
update the app background color later on), we implement an onclick handler so that when the screen is tapped/clicked, the speech recognition service will start.
... inputtxt.blur(); } updating the displayed pitch and rate values the last part of the code simply
updates the pitch/rate values displayed in the ui, each time the slider positions are moved.
Web Storage API - Web APIs
when you choose different options, the page is instantly
updated; in addition your choices are stored in localstorage, so that when you leave the page then load it again later on your choices are remembered.
... in addition, we have provided an event output page — if you load this page in another tab, then make changes to your choices in the landing page, you'll see the
updated storage information outputted as the storageevent is fired.
XRReferenceSpace.getOffsetReferenceSpace() - Web APIs
canvas.oncontextmenu = (event) => { event.preventdefault(); }; canvas.addeventlistener("mousemove", (event) => { if (event.buttons & 2) { rotateviewby(event.movementx, event.movementy); } }); next, the rotateviewby() function, which
updates the mouse look direction's yaw and pitch based on the mouse delta values from the mousemove event.
...each time this is called, the new offsets are used to
update the current values of mousepitch and mouseyaw.
XRReferenceSpace: reset event - Web APIs
the event is sent before any animation frame callbacks are executed to render the pending frame, to ensure that those callbacks have the
updated coordinate system available.
...instead of allowing this to happen, you can integrate the emulatedposition into the teleportation offset calculated prior to calling getoffsetreferencespace() to create a new reference space whose
updated effective origin is adjusted by the distance the viewer's position jumped since the previous frame.
XRRenderStateInit - Web APIs
the xrrenderstateinit dictionary is a writeable version of the xrrenderstate interface, and is used when calling an xrsession's
updaterenderstate() method to apply changes to the render state prior to rendering the next frame.
... usage notes any properties not specified in the xrrenderstateinit compliant object passed into
updaterenderstate() are left at their current values.
XRSessionInit - Web APIs
at this time, all features are identified using strings from the xrreferencespacetype enumeration, but future
updates to the webxr standard may add more features.
...more features may be added in future
updates to the webxr standard.
XRWebGLLayer.getNativeFramebufferScaleFactor() static method - Web APIs
a frame buffer at the device's native resolution, regardless of any performance concerns: function requestnativescalewebgllayer(gl, xrsession) { return gl.makexrcompatible().then(() => { let scalefactor = xrwebgllayer.getnativeframebufferscalefactor(xrsession); let gllayer = new xrwebgllayer(xrsession, gl, { framebufferscalefactor: scalefactor }); xrsession.
updaterenderstate({ baselayer: gllayer }); }); }; this starts by calling the webgl rendering context function makexrcompatible().
... that gets us a new xrwebgllayer object representing a rendering surface we can use for the xrsession; we set it as the rendering surface for xrsession by calling its
updaterenderstate() method, passing the new gllayer in using the xrrenderstate dictionary's xrrenderstate.baselayer property.
XSL Transformations in Mozilla FAQ - Web APIs
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.
... original document information author(s): axel hecht last
updated date: february 2, 2005 copyright information: portions of this content are © 1998–2006 by individual mozilla.org contributors; content available under a creative commons license ...
Web APIs
yboardlayoutmap keyframeeffect keyframeeffectoptions l largestcontentfulpaint layoutshift layoutshiftattribution linearaccelerationsensor linkstyle localfilesystem localfilesystemsync localmediastream location lock lockmanager lockedfile m midiaccess midiconnectionevent midiinput midiinputmap midimessageevent midioutputmap mscandidatewindowhide mscandidatewindowshow mscandidatewindow
update msgestureevent msgraphicstrust msmanipulationevent msrangecollection mssitemodeevent magnetometer mathmlelement mediacapabilities mediacapabilitiesinfo mediaconfiguration mediadecodingconfiguration mediadeviceinfo mediadevices mediaelementaudiosourcenode mediaencodingconfiguration mediaerror mediaimage mediakeymessageevent mediakeysession mediakeystatusmap mediakeysystemaccess media...
...exture_float_linear oes_texture_half_float oes_texture_half_float_linear oes_vertex_array_object ovr_multiview2 offlineaudiocompletionevent offlineaudiocontext offscreencanvas orientationsensor oscillatornode overconstrainederror p pagetransitionevent paintworklet pannernode parentnode passwordcredential path2d payererrors paymentaddress paymentcurrencyamount paymentdetailsbase paymentdetails
update paymentitem paymentmethodchangeevent paymentrequest paymentrequestevent paymentrequest
updateevent paymentresponse paymentvalidationerrors pbkdf2params performance performanceentry performanceeventtiming performanceframetiming performancelongtasktiming performancemark performancemeasure performancenavigation performancenavigationtiming performanceobserver performanceobserverentrylist perfo...
Using the progressbar role - Accessibility
as the task progresses, the aria-valuenow value has to be
updated dynamically to indicate this progress to assistive technology products.
... possible effects on user agents and assistive technology screen readers should announce the progress
updates as they occur.
ARIA: dialog role - Accessibility
<div role="dialog" aria-labelledby="dialog1title" aria-describedby="dialog1desc"> <h2 id="dialog1title">your personal details were successfully
updated</h2> <p id="dialog1desc">you can change your details at any time in the user account section.</p> <button>close</button> </div> description marking up a dialog element with the dialog role helps assistive technology identify the dialog's content as being grouped and separated from the rest of the page content.
...this approach is shown in the code snippet below: <div role="dialog" aria-labelledby="dialog1title" aria-describedby="dialog1desc"> <h2 id="dialog1title">your personal details were successfully
updated</h2> <p id="dialog1desc">you can change your details at any time in the user account section.</p> <button>close</button> </div> keep in mind that a dialog's title and description text do not have to be focusable in order to be perceived by screen readers operating in a non-virtual mode.
ARIA: listbox role - Accessibility
update the aria-activedescendant value on the listbox to the id of the newly selected option visually handle the blur, focus, and selected states of the option toggling the state of an option in a multi select listbox when the user clicks on an option, hits space when focused on an option, or otherwise toggles the state of an option, the following must occur: toggle the aria-selected state of the...
... change the appearance of the option to reflect it's selected state
update the aria-activedescendant value on the listbox to the id of the option the user just interacted with, even if they toggled the option to be unselected.
WAI-ARIA Roles - Accessibility
for a full list of roles, see using aria: roles, states, and properties aria: alert rolethe alert role can be used to tell the user an element has been dynamically
updated.
... screen readers will instantly start reading out the
updated content when the role is added.
Keyboard-navigable JavaScript widgets - Accessibility
to do this: bind a key down handler to each element in the group, and when an arrow key is used to move to another element: programmatically apply focus to the new element,
update the tabindex of the focused element to "0", and
update the tabindex of the previously focused element to "-1".
...for example, the code that
updates the tabindex or the styling when users navigate using the arrow keys should also be used by mouse click handlers to produce the same changes.
Text labels and names - Accessibility
<div role="dialog" aria-labelledby="dialog1title" aria-describedby="dialog1desc"> <h2 id="dialog1title">your personal details were successfully
updated</h2> <p id="dialog1desc">you can change your details at any time in the user account section.</p> <button>close</button> </div> if the dialog box doesn't have a heading, you can instead use aria-label to contain the label text: <div role="dialog" aria-label="personal details
updated confirmation"> <p>your personal details were successfully
updated.
... examples the 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 problems): <title>2 errors — fill in your details to register — mygov services</title> see also <title> embedded content must be labeled make sure that elements that embed content have a title attribute that describes the embedded content.
@media - CSS: Cascading Style Sheets
update how frequently the output device can modify the appearance of content added in media queries level 4.
... adds scripting, pointer, hover,
update, overflow-block, and overflow-inline media features.
Coordinate systems - CSS: Cascading Style Sheets
handling the mouse events setcoords() is called by the event handler for the various mouse events, named
update(); this is shown below.
... function
update(e) { setcoords(e, "offset"); setcoords(e, "client"); setcoords(e, "page"); setcoords(e, "screen"); } inner.addeventlistener("mouseenter",
update, false); inner.addeventlistener("mousemove",
update, false); inner.addeventlistener("mouseleave",
update, false); the event handler is in the
update() method.
Cubic Bezier Generator - CSS: Cascading Style Sheets
<html> <canvas id="bezier" width="336" height="336"> </canvas> <form> <label for="x1">x1 = </label><input onchange="
updatecanvas();" type="text" maxlength=6 id="x1" value="0.79" class='field'> <label for="y1">y1 = </label><input onchange="
updatecanvas();return true;" type="text" maxlength=6 id="y1" value="0.33" class='field'> <label for="x2">x2 = </label><input onchange="
updatecanvas();return true;" type="text" maxlength=6 id="x2" value="0.14" class='field'> <label for="y2">y2 = </label><input onchange="
updatecanvas();return true;" type="text" maxlength=6 id="y2" value="0.53" class='field'> <br> <output id="output">log</output> </form> </html> .field { width: 40px; } function
updatecanvas() { var x1 = d...
...var x2 = document.getelementbyid('x2'); var y2 = document.getelementbyid('y2'); x2.value = reversex(x); x2.value = math.round(x2.value * 10000) / 10000; y2.value = reversey(y); y2.value = math.round(y2.value * 10000) / 10000; if (x2.value < 0) { x2.value = 0; } if (x2.value > 1) { x2.value = 1; } }
updatecanvas(); } } initcanvas();
updatecanvas(); this is a sample tool; it lets you edit bezier curves.
<filter-function> - CSS: Cascading Style Sheets
updating the controls
updates the filter effect in real time, allowing you to investigate the effects of different filters.
...(filter === 'drop-shadow') { divelem.style.filter = `${selectelem.value}(${math.round(slider.value)}${slider.getattribute('data-unit')} ${math.round(slider.value)}${slider.getattribute('data-unit')} ${math.round(math.abs(slider.value/2))}${slider.getattribute('data-unit')})`; } else { divelem.style.filter = `${selectelem.value}(${slider.value}${slider.getattribute('data-unit')}`; }
updateoutput();
updatecurvalue(); } function
updateoutput() { output.textcontent = slider.value; } function
updatecurvalue() { curvalue.textcontent = `filter: ${divelem.style.filter}`; } setslider(selectelem.value); setdiv(selectelem.value); result specifications specification status filter effects module level 1the definition of 'filter-function' in that specifica...
place-content - CSS: Cascading Style Sheets
<option value="center" selected>center</option> <option value="start">start</option> <option value="end">end</option> <option value="flex-start">flex-start</option> <option value="flex-end">flex-end</option> <option value="left">left</option> <option value="right">right</option> <option value="safe">safe</option> <option value="unsafe">unsafe</option> </select><code>;</code> var
update = function () { document.getelementbyid("container").style.placecontent = document.getelementbyid("aligncontentalignment").value + " " + document.getelementbyid("justifycontentalignment").value; } var aligncontentalignment = document.getelementbyid("aligncontentalignment"); aligncontentalignment.addeventlistener("change",
update); var justifycontentalignment = document.getelementbyid("justi...
...fycontentalignment"); justifycontentalignment.addeventlistener("change",
update); var writingm = document.getelementbyid("writingmode"); writingm.addeventlistener("change", function (evt) { document.getelementbyid("container").style.writingmode = evt.target.value; }); var direction = document.getelementbyid("direction"); direction.addeventlistener("change", function (evt) { document.getelementbyid("container").style.direction = evt.target.value; }); css #container { display: flex; height:240px; width: 240px; flex-wrap: wrap; background-color: #8c8c8c; writing-mode: horizontal-tb; /* can be changed in the live sample */ direction: ltr; /* can be changed in the live sample */ place-content: flex-end center; /* can be changed in the live sample */ } div > div { border:...
transition-timing-function - CSS: Cascading Style Sheets
th: 12em; min-width: 12em; margin-bottom: 4px; background-color: black; border: 1px solid red; color: white; transition-property: all; transition-duration: 7s; } .parent > div.box1{ width: 90vw; min-width: 24em; background-color: magenta; color: yellow; border: 1px solid orange; transition-property: all; transition-duration: 2s; } function
updatetransition() { var els = document.queryselectorall(".parent > div[class]"); for(var c = els.length, i = 0; i < c; i++) { els[i].classlist.toggle("box1"); } } var intervalid = window.setinterval(
updatetransition, 10000); .ease { transition-timing-function: ease; } .easein { transition-timing-function: ease-in; } .easeout { transition-timing-function: ease-out; } .easeinout {...
...idth: 12em; min-width: 12em; margin-bottom: 4px; background-color: black; border: 1px solid red; color: white; transition-property: all; transition-duration:7s; } .parent > div.box1{ width: 90vw; min-width: 24em; background-color: magenta; color: yellow; border: 1px solid orange; transition-property: all; transition-duration:2s; } function
updatetransition() { var els = document.queryselectorall(".parent > div[class]"); for(var c = els.length, i = 0; i < c; i++) { els[i].classlist.toggle("box1"); } } var intervalid = window.setinterval(
updatetransition, 10000); .jump-start { transition-timing-function: steps(5, jump-start); } .jump-end { transition-timing-function: steps(5, jump-end); } .jump-none { transition-timi...
Used value - CSS: Cascading Style Sheets
example this example computes and displays the used width value of three elements (
updates on resize): html <div id="no-width"> <p>no explicit width.</p> <p class="show-used-width">..</p> <div id="width-50"> <p>explicit width: 50%.</p> <p class="show-used-width">..</p> <div id="width-inherit"> <p>explicit width: inherit.</p> <p class="show-used-width">..</p> </div> </div> </div> css #no-width { width: auto; } #width-50 { width: 50%; } #...
...width-inherit { width: inherit; } /* make results easier to see */ div { border: 1px solid red; padding: 8px; } javascript function
updateusedwidth(id) { var div = document.queryselector(`#${id}`); var par = div.queryselector('.show-used-width'); var wid = window.getcomputedstyle(div)["width"]; par.textcontent = `used width: ${wid}.`; } function
updateallusedwidths() {
updateusedwidth("no-width");
updateusedwidth("width-50");
updateusedwidth("width-inherit"); }
updateallusedwidths(); window.addeventlistener('resize',
updateallusedwidths); result difference from computed value css 2.0 defined only computed value as the last step in a property's calculation.
Media buffering, seeking, and time ranges - Developer guides
for (var i = 0; i < myaudio.buffered.length; i++) { if (myaudio.buffered.start(myaudio.buffered.length - 1 - i) < myaudio.currenttime) { document.getelementbyid("buffered-amount").style.width = (myaudio.buffered.end(myaudio.buffered.length - 1 - i) / duration) * 100 + "%"; break; } } } }); myaudio.addeventlistener('time
update', function() { var duration = myaudio.duration; if (duration > 0) { document.getelementbyid('progress-amount').style.width = ((myaudio.currenttime / duration)*100) + "%"; } }); } the progress event is fired as data is downloaded, this is a good event to react to if we want to display download or buffering progress.
... the time
update event is fired 4 times a second as the media plays and that's where we increment our playing progress bar.
Making content editable - Developer guides
as of firefox 60, firefox will be
updated to wrap the separate lines in <div> elements, matching the behavior of chrome, modern opera, edge, and safari.
...this is useful if your web application expects the older firefox behavior, and you don't want to or don't have the time to
update it to use the new behavior.
A hybrid approach - Developer guides
similarly, because it uses user-agent detection, you will have to
update your detection rules as time goes on.
...subscribe to the mozilla webdev blog for
updates about our progress.
<input type="checkbox"> - HTML: Hypertext Markup Language
(only the htmlinputelement’s checked idl attribute is
updated.) note: unlike other input controls, a checkboxes value is only included in the submitted data if the checkbox is currently checked.
... var overall = document.queryselector('input[id="enchtbl"]'); var ingredients = document.queryselectorall('ul input'); overall.addeventlistener('click', function(e) { e.preventdefault(); }); for(var i = 0; i < ingredients.length; i++) { ingredients[i].addeventlistener('click',
updatedisplay); } function
updatedisplay() { var checkedcount = 0; for(var i = 0; i < ingredients.length; i++) { if(ingredients[i].checked) { checkedcount++; } } if(checkedcount === 0) { overall.checked = false; overall.indeterminate = false; } else if(checkedcount === ingredients.length) { overall.checked = true; overall.indeterminat...
<input type="datetime-local"> - HTML: Hypertext Markup Language
this will be
updated as soon as that information is determined.
...("0" + i) : i; minuteselect.appendchild(option); } } // when the month or year <select> values are changed, rerun populatedays() // in case the change affected the number of available days yearselect.onchange = function() { populatedays(monthselect.value); } monthselect.onchange = function() { populatedays(monthselect.value); } //preserve day selection var previousday; //
update what day has been set to previously // see end of populatedays() for usage dayselect.onchange = function() { previousday = dayselect.value; } note: remember that some years have 53 weeks in them (see weeks per year)!
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
(only the htmlinputelement’s checked idl attribute is
updated.) note: unlike other input controls, a checkboxes and radio buttons value are only included in the submitted data if they are currently checked.
...this allows your code to
update the search results in real time as the user edits the search.
HTML documentation index - HTML: Hypertext Markup Language
microformats2 is an
update to microformats that provides a simpler way of annotating html structured syntax & vocabularies than previous approaches of using rdfa and microdata which require learning new attributes.
... 236 quirks mode and standards mode gecko, guide, html, needs
update, web development, web standards, xhtml in the old days of the web, pages were typically written in two versions: one for netscape navigator, and one for microsoft internet explorer.
If-None-Match - HTTP
there are two common use cases: for get and head methods, to
update a cached entity that has an associated etag.
... for other methods, and in particular for put, if-none-match used with the * value can be used to save a file not known to exist, guaranteeing that another upload didn't happen before, losing the data of the previous put; this problem is a variation of the lost
update problem.
Tk - HTTP
(dynamic) tk: g (gateway or multiple parties) tk: n (not tracking) tk: t (tracking) tk: c (tracking with consent) tk: p (potential consent) tk: d (disregarding dnt) tk: u (
updated) directives !
... u
updated.
An overview of HTTP - HTTP
http can also be used to fetch parts of documents to
update web pages on demand.
...scripts executed by the browser can fetch more resources in later phases and the browser
updates the web page accordingly.
Redirections in HTTP - HTTP
they imply that the original url should no longer be used, and replaced with the new one.search engine robots, rss readers, and other crawlers will
update the original url for the resource.
...even if you
update your site's links to match the new urls, you have no control over the urls used by external resources.
CSS Houdini
browsers parse the cssom — including layout, paint, and composite processes — before applying any style
updates found in scripts.
... in addition, layout, paint, and composite processes are repeated for javascript style
updates.
Expressions and operators - JavaScript
this operator is primarily used inside a for loop, to allow multiple variables to be
updated each time through the loop.
... for example, if a is a 2-dimensional array with 10 elements on a side, the following code uses the comma operator to
update two variables at once.
The arguments object - JavaScript
non-strict functions that are passed only simple parameters (that is, not rest, default, or restructured parameters) will sync the value of variables new values in the body of the function with the arguments object, and vice versa: function func(a) { arguments[0] = 99; // updating arguments[0] also
updates a console.log(a); } func(10); // 99 and also: function func(a) { a = 99; // updating a also
updates arguments[0] console.log(arguments[0]); } func(10); // 99 conversely, non-strict functions that are passed rest, default, or destructured parameters will not sync new values assigned to argument variables in the function body with the arguments object.
... instead, the arguments object in non-strict functions with complex parameters will always reflect the values passed to the function when the function was called (this is the same behavior as exhibited by all strict-mode functions, regardless of the type of variables they are passed): function func(a = 55) { arguments[0] = 99; // updating arguments[0] does not also
update a console.log(a); } func(10); // 10 and also: function func(a = 55) { a = 99; // updating a does not also
update arguments[0] console.log(arguments[0]); } func(10); // 10 and also: // an untracked default parameter function func(a = 55) { console.log(arguments[0]); } func(); // undefined specifications specification ecmascript (ecma-262)the definition of 'arguments exotic objects' in that...
Array.prototype.indexOf() - JavaScript
1); // -1 array.indexof(2, -3); // 0 finding all the occurrences of an element var indices = []; var array = ['a', 'b', 'a', 'c', 'a', 'd']; var element = 'a'; var idx = array.indexof(element); while (idx != -1) { indices.push(idx); idx = array.indexof(element, idx + 1); } console.log(indices); // [0, 2, 4] finding if an element exists in the array or not and updating the array function
updatevegetablescollection (veggies, veggie) { if (veggies.indexof(veggie) === -1) { veggies.push(veggie); console.log('new veggies collection is : ' + veggies); } else if (veggies.indexof(veggie) > -1) { console.log(veggie + ' already exists in the veggies collection.'); } } var veggies = ['potato', 'tomato', 'chillies', 'green-pepper'];
updatevegetablescollection(...
...veggies, 'spinach'); // new veggies collection is : potato,tomato,chillies,green-pepper,spinach
updatevegetablescollection(veggies, 'spinach'); // spinach already exists in the veggies collection.
Array - JavaScript
other methods (e.g., push(), splice(), etc.) also result in
updates to an array's length property.
... const fruits = [] fruits.push('banana', 'apple', 'peach') console.log(fruits.length) // 3 when setting a property on a javascript array when the property is a valid array index and that index is outside the current bounds of the array, the engine will
update the array's length property accordingly: fruits[5] = 'mango' console.log(fruits[5]) // 'mango' console.log(object.keys(fruits)) // ['0', '1', '2', '5'] console.log(fruits.length) // 6 increasing the length.
Date.prototype.setFullYear() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setfullyear() attempts to
update the other parameters and the date information in the date object accordingly.
Date.prototype.setMilliseconds() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... description if you specify a number outside the expected range, the date information in the date object is
updated accordingly.
Date.prototype.setMinutes() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setminutes() attempts to
update the date information in the date object accordingly.
Date.prototype.setMonth() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setmonth() attempts to
update the date information in the date object accordingly.
Date.prototype.setSeconds() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setseconds() attempts to
update the date information in the date object accordingly.
Date.prototype.setUTCDate() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... description if a parameter you specify is outside of the expected range, setutcdate() attempts to
update the date information in the date object accordingly.
Date.prototype.setUTCFullYear() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setutcfullyear() attempts to
update the other parameters and the date information in the date object accordingly.
Date.prototype.setUTCMilliseconds() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... description if a parameter you specify is outside of the expected range, setutcmilliseconds() attempts to
update the date information in the date object accordingly.
Date.prototype.setUTCMinutes() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setutcminutes() attempts to
update the date information in the date object accordingly.
Date.prototype.setUTCMonth() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setutcmonth() attempts to
update the date information in the date object accordingly.
Date.prototype.setUTCSeconds() - JavaScript
return value the number of milliseconds between 1 january 1970 00:00:00 utc and the
updated date.
... if a parameter you specify is outside of the expected range, setutcseconds() attempts to
update the date information in the date object accordingly.
Map.prototype.set() - JavaScript
the set() method adds or
updates an element with a specified key and a value to a map object.
... examples using set() let mymap = new map() // add new elements to the map mymap.set('bar', 'foo') mymap.set(1, 'foobar') //
update an element in the map mymap.set('bar', 'baz') using the set() with chaining since the set() method returns back the same map object, you can chain the method call like below: // add new elements to the map with chaining.
serviceworker - Web app manifests
examples "serviceworker": { "src": "./serviceworker.js", "scope": "/app", "type": "", "
update_via_cache": "none" } values service worker contain the following values (only src is required): member description src the url to download the service worker script from.
...
update_via_cache whether the user agent cache should be bypassed when fetching the service worker.
OpenSearch description format
supporting automatic
updates for opensearch plugins opensearch plugins can automatically
update.
...the template attribute should be the url of the opensearch document to automatically
update to.
Optimizing startup performance - Web Performance
the source application might have a main loop that can easily be made to operate asynchronously (by running each main loop iteration separately); startup is often just a continuous, monolithic procedure that might periodically
update a progress meter.
...in between calculations,
update your progress indicator, make changes to the display, or anything else you might be able to do to help the user feel like your app is doing something instead of sitting there quietly.
Progressive web app structure - Progressive web apps (PWAs)
client-side rendering (csr) allows the website to be
updated in the browser almost instantly when navigating to different pages, but requires more of an initial download hit and extra rendering on the client at the beginning.
... mixing ssr with csr can lead to the best results — you can render a website on the server, cache its contents, and then
update the rendering on the client-side as and when needed.
Making PWAs work offline with Service workers - Progressive web apps (PWAs)
updates there is still one point to cover: how do you upgrade a service worker when a new version of the app containing new assets is available?
... the version number in the cache name is key to this: var cachename = 'js13kpwa-v1'; when this
updates to v2, we can then add all of our files (including our new files) to a new cache: contenttocache.push('/pwa-examples/js13kpwa/icons/icon-32.png'); // ...
Structural overview of progressive web apps - Progressive web apps (PWAs)
client-side rendering (csr) allows the website to be
updated in the browser almost instantly when navigating to different pages, but requires more of an initial download hit and extra rendering on the client at the beginning.
... the best results tend to come when you use both client-side and server-side rendering; you can render a web site on the server, cache its contents, and then
update the rendering on the client side as needed.
Using the WebAssembly JavaScript API - WebAssembly
tables can be mutated via table.prototype.set(), which
updates one of the values in a table, and table.prototype.grow(), which increases the number of values that can be stored in a table.
...ot: ${got}<br>`; } asserteq("webassembly.global exists", typeof webassembly.global, "function"); const global = new webassembly.global({value:'i32', mutable:true}, 0); webassembly.instantiatestreaming(fetch('global.wasm'), { js: { global } }) .then(({instance}) => { asserteq("getting initial value from wasm", instance.exports.getglobal(), 0); global.value = 42; asserteq("getting js-
updated value from wasm", instance.exports.getglobal(), 42); instance.exports.incglobal(); asserteq("getting wasm-
updated value from js", global.value, 43); }); note: you can see the example running live on github; see also the source code.
Program ID - Archive of obsolete content
for example: addons.mozilla.org uses it to distinguish between new add-ons and
updates to existing add-ons, and the simple-storage module uses it to figure out which stored data belongs to which add-on.
NSS 3.27 release notes
added support for rsa-pss signatures in tls 1.2 and tls 1.3 new functions in ssl.h ssl_namedgroupconfig notable changes in nss 3.27
update 2016-10-02: the maximum tls version supported has been increased to tls 1.3 (draft).
NSS 3.44.1 release notes
fixed in nss 3.44.1 1554336 - optimize away unneeded loop in mpi.c 1515342 - more thorough 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 algorithms 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.3 release notes
bugs fixed in nss 3.44.3 bug 1579060 - don't set the constructed bit for issueruniqueid and subjectuniqueid in mozilla::pkix cve-2019-11745 - encrypt
update should use maxout, not block size this bugzilla query returns all the bugs fixed in nss 3.44: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.44 compatibility nss 3.44.3 shared libraries are backward compatible with all older nss 3.x shared libraries.
NSS 3.46 release notes
initialized warning in lgattr.c bug 1561558 - remove -wmaybe-uninitialized warning in httpserv.c bug 1561556 - remove -wmaybe-uninitialized warning in tls13esni.c bug 1561332 - ec.c:28 warning: comparison of integers of different signs: 'int' and 'unsigned long' bug 1564714 - print certutil commands during setup bug 1565013 - hacl image builder times out while fetching gpg key bug 1563786 -
update hacl-star docker image to pull specific commit bug 1559012 - improve gcm perfomance using pmull2 bug 1528666 - correct resumption validation checks bug 1568803 - more tests for client certificate authentication bug 1564284 - support profile mobility across windows and linux bug 1573942 - gtest for pkcs11.txt with different breaking line formats bug 1575968 - add strsclnt option to enforce t...
NSS 3.47.1 release notes
bugs fixed in nss 3.47.1 cve-2019-11745 - encrypt
update should use maxout, not block size bug 1590495 - fix a crash that could be caused by client certificates during startup bug 1589810 - fix compile-time warnings from uninitialized variables in a perl script this bugzilla query returns all the bugs fixed in nss 3.47: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_mile...
NSS 3.53 release notes
bug 1561331 - additional modular inverse test bug 1629553 - rework and cleanup gmake builds bug 1438431 - remove mkdepend and "depend" make target bug 290526 - support parallel building of nss when using the makefiles bug 1636206 - hacl*
update after changes in libintvector.h bug 1636058 - fix building nss on debian s390x, mips64el, and riscv64 bug 1622033 - add option to build without seed this bugzilla query returns all the bugs fixed in nss 3.53: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.53 compatibility nss 3.53 shared libraries are...
NSS Sample Code Sample_1_Hashing
h_hashtype hashtype; hashcontext *hashcontext = null; hashtype = hash_gethashtypebyoidtag(hashoidtag); hashcontext = hash_create(hashtype); if (hashcontext == null) { return secfailure; } do { hash_begin(hashcontext); /* incrementally hash the file contents */ while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { hash_
update(hashcontext, ibuf, nb); } hash_end(hashcontext, digest, &len, 64); /* normally we would write it out in binary with * nb = pr_write(outfile, digest, len); * but for illustration let's print it in hex.
NSS Sample Code Utilities_1
/* * seedfromnoisefile */ secstatus seedfromnoisefile(const char *noisefilename) { char buf[2048]; prfiledesc *fd; print32 count; fd = pr_open(noisefilename, pr_rdonly, 0); if (!fd) { fprintf(stderr, "failed to open noise file."); return secfailure; } do { count = pr_read(fd,buf,sizeof(buf)); if (count > 0) { pk11_random
update(buf,count); } } while (count > 0); pr_close(fd); return secsuccess; } /* * filesize */ long filesize(const char* filename) { struct stat stbuf; stat(filename, &stbuf); return stbuf.st_size; } /* * readderfromfile */ secstatus readderfromfile(secitem *der, const char *infilename, prbool ascii) { secstatus rv = secsuccess; prfiledesc *infile = n...
Hashing - sample 1
h_hashtype hashtype; hashcontext *hashcontext = null; hashtype = hash_gethashtypebyoidtag(hashoidtag); hashcontext = hash_create(hashtype); if (hashcontext == null) { return secfailure; } do { hash_begin(hashcontext); /* incrementally hash the file contents */ while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { hash_
update(hashcontext, ibuf, nb); } hash_end(hashcontext, digest, &len, 64); /* normally we would write it out in binary with * nb = pr_write(outfile, digest, len); * but for illustration let's print it in hex.
Utilities for nss samples
/* * seedfromnoisefile */ secstatus seedfromnoisefile(const char *noisefilename) { char buf[2048]; prfiledesc *fd; print32 count; fd = pr_open(noisefilename, pr_rdonly, 0); if (!fd) { fprintf(stderr, "failed to open noise file."); return secfailure; } do { count = pr_read(fd,buf,sizeof(buf)); if (count > 0) { pk11_random
update(buf,count); } } while (count > 0); pr_close(fd); return secsuccess; } /* * filesize */ long filesize(const char* filename) { struct stat stbuf; stat(filename, &stbuf); return stbuf.st_size; } /* * readderfromfile */ secstatus readderfromfile(secitem *der, const char *infilename, prbool ascii) { secstatus rv = secsuccess; prfiledesc *infile = n...
sample1
shtype; hashcontext *hashcontext = null; hashtype = hash_gethashtypebyoidtag(hashoidtag); hashcontext = hash_create(hashtype); if (hashcontext == null) { return secfailure; } do { hash_begin(hashcontext); /* incrementally hash the file contents */ while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { hash_
update(hashcontext, ibuf, nb); } hash_end(hashcontext, digest, &len, 64); /* normally we would write it out in binary with * nb = pr_write(outfile, digest, len); * but for illustration let's print it in hex.
NSS Sample Code
see https://bugzilla.mozilla.org/show_bug.cgi?id=490238 you are welcome to download the new samples via: hg clone https://hg.mozilla.org/projects/nss; cd nss; hg
update samples_branch the new samples: /docs/mozilla/projects/nss/new_nss_samples ...
nss tech note4
m myoiditem = { (secitemtype) 0, (unsigned char *)myoid, sizeof(myoid) }; secitem myextvalue; mycertextdata data; secstatus rv = cert_findcertextensionbyoid(cert, &myoiditem, &myextvalue); if (rv == secsuccess) { sec_asn1decodercontext * context = sec_asn1decoderstart(null, &data, mycertexttemplate); rv = sec_asn1decoder
update( context, (const char *)(myextvalue.data), myextvalue.len); if (rv == secsuccess) { /* now you can extract info from secitem fields of your extension data structure */ /* see "misc helper functions" below */ .......
New NSS Samples
see https://bugzilla.mozilla.org/show_bug.cgi?id=490238 how to download the samples: hg clone https://hg.mozilla.org/projects/nss; cd nss; hg
update samples_branch samples list: sample code 1: hashing sample code 2: init nss database sample code 3: encrypt/decrypt and mac using token sample code 4: encrypt/decrypt and mac using session objects sample code 5: encrypt/decrypt/mac output public key as a csr sample code 6: encrypt/decrypt/mac generating a pkcs#11 csr common code used by these samples: sample code 0: utilities th...
CompositionEvent.initCompositionEvent() - Web APIs
syntax compositioneventinstance.initcompositionevent(typearg, canbubblearg, cancelablearg, viewarg, dataarg, localearg) parameters typearg a domstring representing the type of composition event; this will be one of compositionstart, composition
update, or compositionend.
CustomElementRegistry.define() - Web APIs
| node.textcontent return text.split(/\s+/g).length; } var count = 'words: ' + countwords(wcparent); // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create text node and add word count to it var text = document.createelement('span'); text.textcontent = count; // append it to the shadow root shadow.appendchild(text); //
update count when element content changes setinterval(function() { var count = 'words: ' + countwords(wcparent); text.textcontent = count; }, 200) } } // define the new element customelements.define('word-count', wordcount, { extends: 'p' }); <p is="word-count"></p> specifications specification status comment html living standardthe definition of 'custo...
CustomElementRegistry - Web APIs
| node.textcontent return text.split(/\s+/g).length; } var count = 'words: ' + countwords(wcparent); // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create text node and add word count to it var text = document.createelement('span'); text.textcontent = count; // append it to the shadow root shadow.appendchild(text); //
update count when element content changes setinterval(function() { var count = 'words: ' + countwords(wcparent); text.textcontent = count; }, 200) } } // define the new element customelements.define('word-count', wordcount, { extends: 'p' }); note: the customelementregistry is available through the window.customelements property.
DOMTokenList - Web APIs
examples in the following simple example, we retrieve the list of classes set on a <p> element as a domtokenlist using element.classlist, add a class using domtokenlist.add(), and then
update the node.textcontent of the <p> to equal the domtokenlist.
Detecting device orientation - Web APIs
window.addeventlistener("deviceorientation", handleorientation, true); after registering your event listener (in this case, a javascript function called handleorientation()), your listener function periodically gets called with
updated orientation data.
DirectoryEntrySync - Web APIs
about this document this document was last
updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
DirectoryReaderSync - Web APIs
about this document this document was last
updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
Document.getElementsByName() - Web APIs
syntax var elements = document.getelementsbyname(name); elements is a live nodelist collection, meaning it automatically
updates as new elements with the same name are added to/removed from the document.
Document.getElementsByTagName() - Web APIs
the returned htmlcollection is live, meaning that it
updates itself automatically to stay in sync with the dom tree without having to call document.getelementsbytagname() again.
Document: visibilitychange event - Web APIs
bubbles yes cancelable no interface event event handler property onvisibilitychange usage notes the event doesn't include the document's
updated visibility status, but you can get that information from the document's visibilitystate property.
Document - Web APIs
globaleventhandlers.ontime
update is an eventhandler representing the code to be called when the time
update event is raised.
EffectTiming.fill - Web APIs
elem.addeventlistener('click', async evt => { const animation = elem.animate( { transform: `translate(${evt.clientx}px, ${evt.clienty}px)` }, { duration: 800, fill: 'forwards' } ); await animation.finished; // commitstyles will record the style up to and including `animation` and //
update elem’s specified style with the result.
Element.attachShadow() - Web APIs
.textcontent return text.trim().split(/\s+/g).length; } var count = 'words: ' + countwords(wcparent); // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create text node and add word count to it var text = document.createelement('span'); text.textcontent = count; // append it to the shadow root shadow.appendchild(text); //
update count when element content changes setinterval(function() { var count = 'words: ' + countwords(wcparent); text.textcontent = count; }, 200) } } // define the new element customelements.define('word-count', wordcount, { extends: 'p' }); specifications specification status comment domthe definition of 'attachshadow()' in that specification.
MediaSource.isTypeSupported() - Web APIs
rc = url.createobjecturl(mediasource); mediasource.addeventlistener('sourceopen', sourceopen); } else { console.error('unsupported mime type or codec: ', mimecodec); } function sourceopen (_) { //console.log(this.readystate); // open var mediasource = this; var sourcebuffer = mediasource.addsourcebuffer(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('
updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; specifications specification status comment media source extensionsthe definition of 'istypesupported()' in that specification.
MediaSource.readyState - Web APIs
rc = url.createobjecturl(mediasource); mediasource.addeventlistener('sourceopen', sourceopen); } else { console.error('unsupported mime type or codec: ', mimecodec); } function sourceopen (_) { //console.log(this.readystate); // open var mediasource = this; var sourcebuffer = mediasource.addsourcebuffer(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('
updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; specifications specification status comment media source extensionsthe definition of 'readystate' in that specification.
MediaSource.sourceBuffers - Web APIs
example the following snippet is based on a simple example written by nick desaulniers (view the full demo live, or download the source for further investigation.) function sourceopen (_) { //console.log(this.readystate); // open var mediasource = this; var sourcebuffer = mediasource.addsourcebuffer(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('
updateend', function (_) { mediasource.endofstream(); console.log(mediasource.sourcebuffers); // will contain the source buffer that was added above video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; ...
MediaSource - Web APIs
rc = url.createobjecturl(mediasource); mediasource.addeventlistener('sourceopen', sourceopen); } else { console.error('unsupported mime type or codec: ', mimecodec); } function sourceopen (_) { //console.log(this.readystate); // open var mediasource = this; var sourcebuffer = mediasource.addsourcebuffer(mimecodec); fetchab(asseturl, function (buf) { sourcebuffer.addeventlistener('
updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); }; function fetchab (url, cb) { console.log(url); var xhr = new xmlhttprequest; xhr.open('get', url); xhr.responsetype = 'arraybuffer'; xhr.onload = function () { cb(xhr.response); }; xhr.send(); }; spe...
active - Web APIs
when that stream becomes available (that is, when the returned promise is fulfilled, a button on the page is
updated based on whether or not the stream is currently active.
MediaStreamTrack.enabled - Web APIs
usage notes if the mediastreamtrack represents the video input from a camera, disabling the track by setting enabled to false also
updates device activity indicators to show that the camera is not currently recording or streaming.
Recording a media element - Web APIs
lines 6-7 starts the recording process by calling recorder.start(), and outputs a message to the log with the
updated state of the recorder and the number of seconds it will be recording.
NamedNodeMap - Web APIs
a namednodemap object is live and will thus be auto-
updated if changes are made to its contents internally or elsewhere.
Navigator.permissions - Web APIs
the navigator.permissions read-only property returns a permissions object that can be used to query and
update permission status of apis covered by the permissions api.
Navigator - Web APIs
navigator.permissions read only returns a permissions object that can be used to query and
update permission status of apis covered by the permissions api.
Network Information API - Web APIs
var connection = navigator.connection || navigator.mozconnection || navigator.webkitconnection; var type = connection.effectivetype; function
updateconnectionstatus() { console.log("connection type changed from " + type + " to " + connection.effectivetype); type = connection.effectivetype; } connection.addeventlistener('change',
updateconnectionstatus); preload large resources the connection object is useful for deciding whether to preload resources that take large amounts of bandwidth or memory.
Node - Web APIs
nodelist being live means that if the children of the node change, the nodelist object is automatically
updated.
NodeList - Web APIs
live nodelists in some cases, the nodelist is live, which means that changes in the dom automatically
update the collection.
Page Visibility API - Web APIs
a site has an image carousel that shouldn't advance to the next slide unless the user is viewing the page an application showing a dashboard of information doesn't want to poll the server for
updates when the page isn't visible a page wants to detect when it is being prerendered so it can keep accurate count of page views a site wants to switch off sounds when a device is in standby mode (user pushes power button to turn screen off) developers have historically used imperfect proxies to detect this.
PannerNode.coneInnerAngle - Web APIs
d outer cone // setting it to 0 means there is no sound, so we can clearly hear when we leave the cone // 0 is also the default panner.coneoutergain = 0; // increase the z position to ensure the cone has an effect // (otherwise the sound is located at the same position as the listener) panner.positionz.setvalueattime(1, context.currenttime); having set up the pannernode, we can now schedule some
updates to its y-axis rotation: // calculate the vector for no rotation // this means the sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calcula...
PannerNode.coneOuterAngle - Web APIs
d outer cone // setting it to 0 means there is no sound, so we can clearly hear when we leave the cone // 0 is also the default panner.coneoutergain = 0; // increase the z position to ensure the cone has an effect // (otherwise the sound is located at the same position as the listener) panner.positionz.setvalueattime(1, context.currenttime); having set up the pannernode, we can now schedule some
updates to its y-axis rotation: // calculate the vector for no rotation // this means the sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calcula...
PannerNode.coneOuterGain - Web APIs
d outer cone // setting it to 0 means there is no sound, so we can clearly hear when we leave the cone // 0 is also the default panner.coneoutergain = 0; // increase the z position to ensure the cone has an effect // (otherwise the sound is located at the same position as the listener) panner.positionz.setvalueattime(1, context.currenttime); having set up the pannernode, we can now schedule some
updates to its y-axis rotation: // calculate the vector for no rotation // this means the sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calcula...
PannerNode.distanceModel - Web APIs
generally you will define the position in 3d space that your audio listener and panner (source) occupy initially, and then
update the position of one or both of these as the application is used.
PannerNode.maxDistance - Web APIs
generally you will define the position in 3d space that your audio listener and panner (source) occupy initially, and then
update the position of one or both of these as the application is used.
PannerNode.orientationX - Web APIs
d outer cone // setting it to 0 means there is no sound, so we can clearly hear when we leave the cone // 0 is also the default panner.coneoutergain = 0; // increase the z position to ensure the cone has an effect // (otherwise the sound is located at the same position as the listener) panner.positionz.setvalueattime(1, context.currenttime); having set up the pannernode, we can now schedule some
updates to its y-axis rotation: // calculate the vector for no rotation // this means the sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calcula...
PannerNode.orientationY - Web APIs
d outer cone // setting it to 0 means there is no sound, so we can clearly hear when we leave the cone // 0 is also the default panner.coneoutergain = 0; // increase the z position to ensure the cone has an effect // (otherwise the sound is located at the same position as the listener) panner.positionz.setvalueattime(1, context.currenttime); having set up the pannernode, we can now schedule some
updates to its y-axis rotation: // calculate the vector for no rotation // this means the sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calcula...
PannerNode.orientationZ - Web APIs
d outer cone // setting it to 0 means there is no sound, so we can clearly hear when we leave the cone // 0 is also the default panner.coneoutergain = 0; // increase the z position to ensure the cone has an effect // (otherwise the sound is located at the same position as the listener) panner.positionz.setvalueattime(1, context.currenttime); having set up the pannernode, we can now schedule some
updates to its y-axis rotation: // calculate the vector for no rotation // this means the sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calcula...
PannerNode.panningModel - Web APIs
generally you will define the position in 3d space that your audio listener and panner (source) occupy initially, and then
update the position of one or both of these as the application is used.
PannerNode.setOrientation() - Web APIs
generally you will define the position in 3d space that your audio listener and panner (source) occupy initially, and then
update the position of one or both of these as the application is used.
PannerNode.setPosition() - Web APIs
generally you will define the position in 3d space that your audio listener and panner (source) occupy initially, and then
update the position of one or both of these as the application is used.
PannerNode.setVelocity() - Web APIs
generally you will define the position in 3d space that your audio listener and panner (source) occupy initially, and then
update the position of one or both of these as the application is used.
Window: popstate event - Web APIs
if new-entry has a different document object than current-entry, the browsing context is
updated so that its document property refers to the document referred to by new-entry, and the context's name is
updated to match the context name of the now-current document.
Window.screenLeft - Web APIs
initialleft = window.screenleft + canvaselem.offsetleft; initialtop = window.screentop + canvaselem.offsettop; function positionelem() { let newleft = window.screenleft + canvaselem.offsetleft; let newtop = window.screentop + canvaselem.offsettop; let left
update = initialleft - newleft; let top
update = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(left
update + (width/2), top
update + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.textcontent = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' +...
Window.screenTop - Web APIs
initialleft = window.screenleft + canvaselem.offsetleft; initialtop = window.screentop + canvaselem.offsettop; function positionelem() { let newleft = window.screenleft + canvaselem.offsetleft; let newtop = window.screentop + canvaselem.offsettop; let left
update = initialleft - newleft; let top
update = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(left
update + (width/2), top
update + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.textcontent = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' +...
Window.screenX - Web APIs
initialleft = window.screenleft + canvaselem.offsetleft; initialtop = window.screentop + canvaselem.offsettop; function positionelem() { let newleft = window.screenleft + canvaselem.offsetleft; let newtop = window.screentop + canvaselem.offsettop; let left
update = initialleft - newleft; let top
update = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(left
update + (width/2), top
update + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.textcontent = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' +...
Window.screenY - Web APIs
initialleft = window.screenleft + canvaselem.offsetleft; initialtop = window.screentop + canvaselem.offsettop; function positionelem() { let newleft = window.screenleft + canvaselem.offsetleft; let newtop = window.screentop + canvaselem.offsettop; let left
update = initialleft - newleft; let top
update = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(left
update + (width/2), top
update + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.textcontent = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' +...
Window.setImmediate() - Web APIs
this method is used to break up long running operations and run a callback function immediately after the browser has completed other operations such as events and display
updates.
Window - Web APIs
window.
updatecommands()
updates the state of commands of the current chrome window (ui).
WorkerNavigator.permissions - Web APIs
the workernavigator.permissions read-only property returns a permissions object that can be used to query and
update permission status of apis covered by the permissions api.
WorkerNavigator - Web APIs
workernavigator.permissions read only returns a permissions object that can be used to query and
update permission status of apis covered by the permissions api.
XRHandedness - Web APIs
function
updateinputsources(session, frame, refspace) { for (let source of session.inputsources) { if (source.gripspace) { let grippose = frame.getpose(source.gripspace, refspace); if (grippose) { myrenderhandobject(grippose, inputsource.handedness); } } } } this function, which would be called every animation frame (or possibly just periodically, depending on the degree ...
XRInputSource.handedness - Web APIs
function
updateinputsources(session, frame, refspace) { for (let source of session.inputsources) { if (source.gripspace) { let grippose = frame.getpose(source.gripspace, refspace); if (grippose) { myrenderhandobject(grippose, inputsource.handedness); } } } } this function, which would be called every animation frame (or possibly just periodically, depending on the degree ...
Contribute a recipe - CSS: Cascading Style Sheets
it may see periodical improvements or
updates, and may eventually even be cleaned up (and de-archived) for better uxp focus, but for now, it's a historical snapshot for reference, not a living website.
display - CSS: Cascading Style Sheets
rial, sans-serif; letter-spacing: 1px; padding-top: 10px; } article { background-color: red; } article span { background-color: black; color: white; margin: 1px; } article, span { padding: 10px; border-radius: 7px; } article, div { margin: 20px; } javascript const articles = document.queryselectorall('.container'); const select = document.queryselector('select'); function
updatedisplay() { articles.foreach((article) => { article.style.display = select.value; }); } select.addeventlistener('change',
updatedisplay);
updatedisplay(); result note: you can find more examples in the pages for each separate display data type, linked above.
font-kerning - CSS: Cascading Style Sheets
ij</textarea> css div { font-size: 2rem; font-family: serif; } #nokern { font-kerning: none; } #kern { font-kerning: normal; } javascript let input = document.getelementbyid('input'); let kern = document.getelementbyid('kern'); let nokern = document.getelementbyid('nokern'); input.addeventlistener('keyup', function() { kern.textcontent = input.value; /*
update content */ nokern.textcontent = input.value; }); kern.textcontent = input.value; /* initialize content */ nokern.textcontent = input.value; specifications specification status comment css fonts module level 3the definition of 'font-kerning' in that specification.
font-style - CSS: Cascading Style Sheets
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 set with a font-style value of italic may be difficult for people with cognitive concerns such as dyslexia to read.
font-weight - CSS: Cascading Style Sheets
vw; 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 weightlabel = document.queryselector('label[for="weight"]'); let weightinput = document.queryselector('#weight'); let sampletext = document.queryselector('.sample'); function
update() { weightlabel.textcontent = `font-weight: ${weightinput.value};`; sampletext.style.fontweight = weightinput.value; } weightinput.addeventlistener('input',
update);
update(); accessibility concerns people experiencing low vision conditions may have difficulty reading text set with a font-weight value of 100 (thin/hairline) or 200 (extra light), especially if the font has a low contrast...
mask-border - CSS: Cascading Style Sheets
-webkit-mask-box-image-repeat: round; -webkit-mask-box-image-outset: 1px; */ /* prefixed shorthand property currently supported in chromium */ -webkit-mask-box-image: url("https://udn.realityripple.com/samples/2d/fd08a3134c.png") /* source */ 30 fill / /* slice */ 20px / /* width */ 1px /* outset */ round; /* repeat */ /*
updated standard shorthand property, not supported anywhere yet */ mask-border: url("https://udn.realityripple.com/samples/2d/fd08a3134c.png") /* source */ 30 fill / /* slice */ 20px / /* width */ 1px /* outset */ round; /* repeat */ } result specifications specification status comment css masking module lev...
<ratio> - CSS: Cascading Style Sheets
in media queries level 4, the <ratio> date type is
updated to consist of a strictly positive <number> followed by a forward slash ('/', unicode u+002f solidus) and a second strictly positive <number>.
Ajax - Developer guides
when these technologies are combined in the ajax model, web applications are able to make quick, incremental
updates to the user interface without reloading the entire browser page.
Date.prototype.toISOString() - JavaScript
engines which have not been
updated to support this method can work around the absence of this method using the following shim: if (!date.prototype.toisostring) { (function() { function pad(number) { if (number < 10) { return '0' + number; } return number; } date.prototype.toisostring = function() { return this.getutcfullyear() + '-' + pad(this.getutcmonth() + 1) + '...
Intl - JavaScript
this registry is periodically
updated over time, and implementations may not always be up to date, so be careful not to rely too much on tags being universally supported.
RegExp.prototype.exec() - JavaScript
return value if the match succeeds, the exec() method returns an array (with extra properties index and input; see below) and
updates the lastindex property of the regular expression object.
SharedArrayBuffer - JavaScript
var sab = new sharedarraybuffer(1024); worker.postmessage(sab); updating and synchronizing shared memory with atomic operations shared memory can be created and
updated simultaneously in workers or the main thread.
WeakMap.prototype.set() - JavaScript
examples using the set method var wm = new weakmap(); var obj = {}; // add new elements to the weakmap wm.set(obj, 'foo').set(window, 'bar'); // chainable //
update an element in the weakmap wm.set(obj, 'baz'); specifications specification ecmascript (ecma-262)the definition of 'weakmap.prototype.set' in that specification.
WebAssembly.Global() constructor - JavaScript
ot: ${got}<br>`; } asserteq("webassembly.global exists", typeof webassembly.global, "function"); const global = new webassembly.global({value:'i32', mutable:true}, 0); webassembly.instantiatestreaming(fetch('global.wasm'), { js: { global } }) .then(({instance}) => { asserteq("getting initial value from wasm", instance.exports.getglobal(), 0); global.value = 42; asserteq("getting js-
updated value from wasm", instance.exports.getglobal(), 42); instance.exports.incglobal(); asserteq("getting wasm-
updated value from js", global.value, 43); }); note: you can see the example running live on github; see also the source code.
WebAssembly.Global - JavaScript
ot: ${got}<br>`; } asserteq("webassembly.global exists", typeof webassembly.global, "function"); const global = new webassembly.global({value:'i32', mutable:true}, 0); webassembly.instantiatestreaming(fetch('global.wasm'), { js: { global } }) .then(({instance}) => { asserteq("getting initial value from wasm", instance.exports.getglobal(), 0); global.value = 42; asserteq("getting js-
updated value from wasm", instance.exports.getglobal(), 42); instance.exports.incglobal(); asserteq("getting wasm-
updated value from js", global.value, 43); }); note: you can see the example running live on github; see also the source code.
Logical OR assignment (||=) - JavaScript
examples setting default content if the "lyrics" element is empty, set the innerhtml to a default value: document.getelementbyid('lyrics').innerhtml ||= '<i>no lyrics.</i>' here the short-circuit is especially beneficial, since the element will not be
updated unnecessarily and won't cause unwanted side-effects such as additional parsing or rendering work, or loss of focus, etc.
export - JavaScript
bindings that are exported can still be modified locally; when imported, although they can only be read by the importing module the value
updates whenever it is
updated by the exporting module.
import - JavaScript
bindings imported are called live bindings because they are
updated by the module that exported the binding.
<mtable> - MathML
in gecko 17.0 (firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) the parsing has been
updated to treat whitespace correctly.
Handling media support issues in web content - Web media technologies
<img src="/images/stafff-photo-huge-progressive.jpg" alt="staff photo, taken in january of 1972"> when using a progressive image, the data is stored in such a way that the browser is able to render a low-quality representation of the image as soon as possible, then
update the image as it loads—or after it's finished loading—to present it in full quality.
Web video codec guide - Web media technologies
motion compression of video typically works by comparing frames, finding where they differ, and constructing records containing enough information to
update the previous frame to approximate the appearance of the following frame.
Codecs used by WebRTC - Web media technologies
that's done for each transceiver on the rtcpeerconnection; once all of the transceivers have been
updated, we call the onnegotiationneeded event handler, which will create a new offer,
update the local description, send the offer along to the remote peer, and so on, thereby triggering the renegotiation of the connection.
Add to Home screen - Progressive web apps (PWAs)
deferredprompt = e; //
update ui to notify the user they can add to home screen addbtn.style.display = 'block'; addbtn.addeventlistener('click', (e) => { // hide our user interface that shows our a2hs button addbtn.style.display = 'none'; // show the prompt deferredprompt.prompt(); // wait for the user to respond to the prompt deferredprompt.userchoice.then((choiceresult) => { if (choicere...
SVG Event Attributes - SVG: Scalable Vector Graphics
ed, onended, onerror, onfocus, oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload, onloadeddata, onloadedmetadata, onloadstart, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onpause, onplay, onplaying, onprogress, onratechange, onreset, onresize, onscroll, onseeked, onseeking, onselect, onshow, onstalled, onsubmit, onsuspend, ontime
update, ontoggle, onvolumechange, onwaiting graphical event attributes onactivate, onfocusin, onfocusout ...
begin - SVG: Scalable Vector Graphics
those are: focus, blur, focusin, focusout, activate, auxclick, click, dblclick, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, wheel, beforeinput, input, keydown, keyup, compositionstart, composition
update, compositionend, load, unload, abort, error, select, resize, scroll, beginevent, endevent, and repeatevent.
end - SVG: Scalable Vector Graphics
those are: focus, blur, focusin, focusout, activate, auxclick, click, dblclick, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, wheel, beforeinput, input, keydown, keyup, compositionstart, composition
update, compositionend, load, unload, abort, error, select, resize, scroll, beginevent, endevent, and repeatevent .
SVG Attribute reference - SVG: Scalable Vector Graphics
ed, onended, onerror, onfocus, oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload, onloadeddata, onloadedmetadata, onloadstart, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onpause, onplay, onplaying, onprogress, onratechange, onreset, onresize, onscroll, onseeked, onseeking, onselect, onshow, onstalled, onsubmit, onsuspend, ontime
update, ontoggle, onvolumechange, onwaiting graphical event attributes onactivate, onfocusin, onfocusout ...
Subdomain takeovers - Web security
create an inventory of all of your organization’s domains and their hosting providers, and
update it as things change, to ensure that nothing is left dangling.
Transport Layer Security - Web security
it was
updated to ssl 3.0 not long after, and as its usage expanded, it became clear that a common, standard encryption technology needed to be specified to ensure interoperability among all web browsers and servers.
Tutorials
advanced level javascript guide a comprehensive, regularly
updated guide to javascript for all levels of learning from beginner to advanced.