Search completed in 1.65 seconds.
979 results for "Platform":
Your results are loading. Please wait...
platform/xpcom - Archive of obsolete content
for example, the add-on below implements the nsiobserver interface to listen for and log all topic notifications: var { class } = require('sdk/core/heritage'); var { unknown } = require('sdk/platform/xpcom'); var { cc, ci } = require('chrome') var observerservice = cc['@mozilla.org/observer-service;1'].
... var { class } = require('sdk/core/heritage'); var { unknown, factory } = require('sdk/platform/xpcom'); var { cc, ci } = require('chrome'); var contractid = '@me.org/helloworld'; // define a component var helloworld = class({ extends: unknown, get wrappedjsobject() this, hello: function() {return 'hello world';} }); // create and register the factory var factory = factory({ contract: contractid, component: helloworld }); // xpcom clients can retrieve and use this new // compo...
...here's the example above, rewritten to use class id instead of contract id for lookup: var { class } = require('sdk/core/heritage'); var { unknown, factory } = require('sdk/platform/xpcom'); var { cc, ci, components } = require('chrome'); // define a component var helloworld = class({ extends: unknown, get wrappedjsobject() this, hello: function() {return 'hello world';} }); // create and register the factory var factory = factory({ component: helloworld }); var id = factory.id; // retrieve the factory by class id var wrapper = components.classesbyid[id].createin...
...And 4 more matches
Porting NSPR to Unix Platforms - Archive of obsolete content
last modified 16 july 1998 <<< under construction >>> unix platforms are probably the easiest platforms to port netscape portable runtime (nspr) to.
...for certain more "standard" unix platforms, this may be all you have to do.
... on other platforms, you may need to do extra work to deal with their idiosyncrasies.
...And 4 more matches
Special per-platform menu considerations - Archive of obsolete content
some menu items have specific common labels or locations where certain menu items would go that differ on each platform.
...on the mac, these menu items will be moved onto the application menu, but on other platforms, they will be left in their original locations.
... this makes it easier to write the same xul code for all platforms.
...And 3 more matches
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() - Web APIs
isuserverifyingplatformauthenticatoravailable() is a static method of the publickeycredential interface that returns a promise which resolves to true if a user-verifying platform authenticator is available.
... a user-verifying platform authenticator is a kind of multi-factor authenticator that is part of the client device (it is generally not removable) and that involves an action from the user in order to identify them.
... syntax publickeycredential.isuserverifyingplatformauthenticatoravailable() parameters none.
...And 3 more matches
NavigatorID.platform - Web APIs
returns a string representing the platform of the browser.
... syntax platform = navigator.platform value a domstring identifying the platform on which the browser is running, or an empty string if the browser declines to (or is unable to) identify the platform.
... platform is a string that must be an empty string or a string representing the platform on which the browser is executing.
...And 2 more matches
mozilla-dev-platform - Archive of obsolete content
about newsgroup summary for mozilla.dev.platform (google groups link) is for people working on the mozilla application framework ("mozilla-the-platform").
... summaries 2006-09-29 (sept 22 - sept 29) 2006-10-06 (sept 30 - oct 6) 2006-10-13 (oct 7 - oct 13) 2006-10-20 (oct 14 - oct 20) 2006-10-27 (oct 21 - oct 27) 2006-11-03 (oct 28 - nov 3) 2006-11-10 (nov 4 - nov 10) 2006-11-17 (nov 11 - nov 17) 2006-18-24 (nov 18 - nov 24) 2006-12-01 (nov 25 - dec 1) faq faq for mozilla.dev.platform ...
mozilla.dev.platform FAQ - Archive of obsolete content
faq for questions asked on mozilla.dev.platform xulrunner q: xulrunner on mac os x a: instead of using /path/to/xulrunner-bin.ini, applications on a mac must be in an application bundle (foo.app).
Developing cross-browser and cross-platform pages - Archive of obsolete content
an important practice when doing cross-browser, cross-platform pages and dhtml development involves the ability to determine the capabilities of the browser which loads your web page.
Index - Archive of obsolete content
found 3833 pages: # page tags and summary 1 archive of obsolete content archive, landing here at mdn, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers.
... 85 frame/utils provides helper functions for working with platform internals like frames and browsers.
... 99 platform/xpcom implement xpcom objects, factories, and services.
...And 36 more matches
Index
found 353 pages: # page tags and summary 1 network security services jss, nss, needsmigration network security services (nss) is a set of libraries designed to support cross-platform development of security-enabled client and server applications.
...in order to support multiple operating systems (os), it is based on a cross platform portability layer, called the netscape portable runtime (nspr), which provides cross platform application programming interfaces (apis) for os specific apis like file system access, memory management, network communication, and multithreaded programming.
...because nss is a cross-platform library that builds on many different platforms and has many options, it may be complex to build.
...And 26 more matches
ctypes
similar to errno in libc, available on all platforms.
... predefined data types primitive types these types behave the same on all platforms.
... types that act like specific c types these types are designed to work exactly like the corresponding type on the native platform.
...And 22 more matches
Mozilla Application Framework in Detail - Archive of obsolete content
another benefit of this standards-based approach to ui development is that your application is cross-platform "out of the box".
... imagine not having to re-write your application 3 times, or not supporting a less popular platform simply because you do not have the resources for parallel development!
...customized xul applications with significant business logic can be written once, and used on the range of platforms that exist within the organization.
...And 20 more matches
The Joy of XUL - Archive of obsolete content
this guide is designed to introduce application developers and their managers to xul so they can not only understand why mozilla's platform is based on it, but how they might adopt it for their own use.
... xul (pronounced "zool") is mozilla's xml-based user interface language that lets you build feature rich cross-platform applications that can run connected to or disconnected from the internet.
... also described are some reasons application developers might choose to leverage xul and mozilla technology for building cross-platform applications.
...And 20 more matches
NSS tools : modutil
the jar installation script defines the setup information for each platform that the module can be installed on.
... for example: platforms { linux:5.4.08:x86 { modulename { "example pkcs #11 module" } modulefile { crypto.so } defaultmechanismflags{0x0000} cipherenableflags{0x0000} files { crypto.so { path{ /tmp/crypto.so } } setup.sh { executable path{ /tmp/setup.sh } } } } linux:6.0.0:x86 { equivalentplatform { linux:5.4.08:x86 } } } both the install script and the required libraries must be bundled in a jar file, which is specified with the -jar argument.
...(y/n) y using installer script "installer_script" successfully parsed installation script current platform is linux:5.4.08:x86 using installation parameters for platform linux:5.4.08:x86 installed file crypto.so to /tmp/crypto.so installed file setup.sh to ./pk11inst.dir/setup.sh executing "./pk11inst.dir/setup.sh"...
...And 19 more matches
NSS tools : modutil
MozillaProjectsNSStoolsmodutil
the jar installation script defines the setup information for each platform that the module can be installed on.
... for example: platforms { linux:5.4.08:x86 { modulename { "example pkcs #11 module" } modulefile { crypto.so } defaultmechanismflags{0x0000} cipherenableflags{0x0000} files { crypto.so { path{ /tmp/crypto.so } } setup.sh { executable path{ /tmp/setup.sh } } } } linux:6.0.0:x86 { equivalentplatform { linux:5.4.08:x86 } } } both the install script and the required libraries must be bundled in a jar file, which is specified with the -jar argument.
...(y/n) y using installer script "installer_script" successfully parsed installation script current platform is linux:5.4.08:x86 using installation parameters for platform linux:5.4.08:x86 installed file crypto.so to /tmp/crypto.so installed file setup.sh to ./pk11inst.dir/setup.sh executing "./pk11inst.dir/setup.sh"...
...And 19 more matches
Index
MozillaTechXPCOMIndex
found 1275 pages: # page tags and summary 1 xpcom add-ons, extensions, landing, mozilla, xpcom xpcom is a cross platform component object model, similar to microsoft com.
...effectively, it is a different platform.
...xpcom is mozilla’s cross platform component object model, similar to microsoft’s com technology.
...And 17 more matches
Drawing and Event Handling - Plugins
a drawable can be defined in several ways, depending on the platform.
... note: windowless plug-ins were not supported on the x window system platform prior to gecko 1.9 alpha 7 (bug 137189).
...this structure contains information about coordinate position, size, the state of the plug-in (windowed or windowless), and some platform-specific information.
...And 17 more matches
BluetoothCharacteristicProperties - Web APIs
full support 56notes disabled notes linux and versions of windows earlier than 10.disabled from version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 56notes disabled notes linux and versions of windows earlier than 10.disabled from version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
...And 17 more matches
NSS Tools modutil
if so, the metainfo file for the netscape signing tool would include a line such as this: + pkcs11_install_script: pk11install the sample script file could contain the following: forwardcompatible { irix:6.2:mips sunos:5.5.1:sparc }platforms { winnt::x86 { modulename { "fortezza module" } modulefile { win32/fort32.dll } defaultmechanismflags{0x0001} defaultcipherflags{0x0001} files { win32/setup.exe { executable relativepath { %temp%/setup.exe } } win32/setup.hlp { relativepath { %temp%/setup.hlp } } win32/setup.cab { relat...
...ivepath { %temp%/setup.cab } } } } win95::x86 { equivalentplatform {winnt::x86} } sunos:5.5.1:sparc { modulename { "fortezza unix module" } modulefile { unix/fort.so } defaultmechanismflags{0x0001} cipherenableflags{0x0001} files { unix/fort.so { relativepath{%root%/lib/fort.so} absolutepath{/usr/local/netscape/lib/fort.so} filepermissions{555} } xplat/instr.html { relativepath{%root%/docs/inst.html} absolutepath{/usr/local/netscape/docs/inst.html} filepermissions{555} } } } irix:6.2:mips { equivalentplatform { sunos:5.5.1:sparc } }} script grammar the script file grammar is as follows: --> valuelistvaluelist --> value valuelist ...
...this section discusses the following keys: global keysper-platform keysper-file keys global keys forwardcompatible gives a list of platforms that are forward compatible.
...And 16 more matches
Game distribution - Game development
benefits of html5 over native building games with html5 gives you extra advantages, such as: multiplatform bliss the technology itself is multiplatform, so you can write the code once and target multiple devices.
... you don't need to have separate teams to work on the same title targeting different platforms with only one code base to worry about.
...there's no flash, and html5 is fully multiplatform.
...And 15 more matches
BluetoothRemoteGATTDescriptor - Web APIs
full support 57notes disabled notes linux and versions of windows earlier than 10.disabled from version 57: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 44notes disabled notes linux and versions of windows earlier than 10.disabled from version 44: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
...And 15 more matches
OS.File for the main thread
optionsoptional platform-specific options for opening the file.
...to specify options, pass an object that may contain some of the following flags: unixflags (ignored under non-unix platforms) if specified, file opening flags, as per libc function open.
... unixmode (ignored under non-unix platforms) if specified, file creation mode, as per libc function open.
...And 14 more matches
Source code directories overview - Archive of obsolete content
idl contains the xpidl (cross platform interface definition language) interface files.
... there are also platform dependent subdirectories which contain source code for specific platforms.
... db contains c code for the mdb/mork database which is a low-level, general-purpose and cross-platform file library.
...And 13 more matches
Tamarin build documentation - Archive of obsolete content
supported platforms tamarin currently supports the following operating systems and/or architectures.
... the tamarin codebase contains a cross-platform build system for mozilla developers.
... the cross-platform build system is used for daily automated build testing so it is the most reliable system.
...And 13 more matches
nsIFile
xpcom/io/nsifile.idlscriptable an instance of this interface is a cross-platform representation of a location in the filesystem.
... inherits from: nsisupports last changed in gecko 30.0 (firefox 30.0 / thunderbird 30.0 / seamonkey 2.27) nsifile is the correct platform-agnostic way to specify a file; you should always use this instead of a string to ensure compatibility.
... with an nsifile you can navigate to ancestors or descendants without having to deal with the different path separators used on different platforms, query the state of any file or directory at the position represented by the nsifile and create, move or copy items in the filesystem.
...And 12 more matches
places/bookmarks - Archive of obsolete content
the second query's properties // are and'd together, so results that are in the platform's unsorted // bookmarks folder, and are also tagged with 'mozilla', get returned // as well in this query }); globals constructors bookmark(options) creates an unsaved bookmark instance.
... all of the items passed in are pushed to the platform and are either created, updated or deleted.
... adding items: if passing in freshly instantiated bookmark items or a duck-typed object, the item is created on the platform.
...And 11 more matches
IME handling guide
this is a technical term from windows but these days, this is used on other platforms as well.
...it handles native key events before or after focused application (depending on the platform) and creates a composition string (a.k.a.
...additionally, ime may be used for handwriting systems or speech input systems on some platforms.
...And 11 more matches
xptcall FAQ
it is implemented using platform specific c/c++ and assembly language code.
...porting this code is required in order to make mozilla run on any given platform.
...though the chosen approach requires some core platform specific code, it has minimal footprint and is extendable to work with any valid xpcom interface without requiring additional per platform compiled code to be distributed.
...And 11 more matches
Index - Web APIs
WebAPIIndex
this document describes how an application can accept one or more files that are dragged from the underlying platform's file manager and dropped on a web page.
... 2208 keyboardevent: code values the following tables show what code values are used for each native scancode or virtual keycode on major platforms.
...corresponding virtual keycodes for common platforms are included where available.
...And 11 more matches
Mozilla release FAQ - Archive of obsolete content
it features speed improvements, a more modular nature, and significantly less platform-dependant code.
...here are a few that are specific to the mozilla newsgroups: fe = front end -- the part of mozilla that handles the interface be = back end -- the part of mozilla that does all the behind-the-scenes stuff nspr = netscape portable runtime -- an abstraction layer over the local os gtk = a free gui toolkit native to unix qt = another gui toolkit xp = cross platform xpfe = cross-platform frontend based on nglayout m[number] = milestone release [number] (no longer used) i'm wondering how to do xxx with navigator 3.x...
...secondly, ensure that you have fully read the build instructions for your platform.
...And 10 more matches
Visual typescript game engine - Game development
multiplatform video chat (for all browsers) implemented.
... */ private masterserverkey: string = "multi-platformer-sever1.maximum"; /** * rtcserverport port used to connect multimedia server.
... * i will use it for explicit video chat multiplatform support.
...And 10 more matches
64-bit Compatibility
the following types or typedefs are always 64-bit on 64-bit platforms, and 32-bit on 32-bit platforms: pointers uintptr_t, intptr_t, ptrdiff_t, (probably) size_t jsval jsuword, jsword length of a string, though the actual length cannot exceed 30 bits jsuintptr, jsintptr, jsptrdiff, jsuptrdiff, jssize, jsuword, jsword (let's not use these, kthx) the following types are 32-bit on 32-bit platforms.
... for all intents and purposes they are also 32-bit on 64-bit platforms: intn, uintn jsintn, jsuintn, jsbool general problems with pointers when performing bitwise operations on pointer values, make sure that both operands are 64-bit.
...for more information and platform specific details on virtual address widths, see this article on wikipedia.
...And 10 more matches
AT APIs Support
we provide for them the support of these products on windows, linux/unix and os x platforms.
... on windows platform mfcembed testing client - this is a very simple package, great for testing basic html accessibility with your products and the gecko rendering engine (please contact us for a copy).
... k-meleon - light, ultra-fast and more advanced (fully configurable) gecko-based web browser available on the windows platform on linux/unix platform yelp help viewer - the help viewer in gnome evolution email - provides integrated mail, addressbook and calendaring functionality to users of the gnome desktop.
...And 10 more matches
Xptcall Porting Guide
it does this using platform specific assembly language code.
... this code needs to be ported to all platforms that want to support xptcall (and thus mozilla).
... the tree mozilla/xpcom/reflect/xptcall +--public // exported headers +--src // core source | \--md // platform specific parts | +--mac // mac ppc | +--unix // all unix | \--win32 // win32 | +--test // simple tests to get started \--tests // full tests via api porters are free to create subdirectories under the base md directory for their given platforms and to integrate into the build system as appropriate for their platform.
...And 10 more matches
Firefox user agent string reference - HTTP
general form the ua string of firefox itself is broken down into four components: mozilla/5.0 (platform; rv:geckoversion) gecko/geckotrail firefox/firefoxversion mozilla/5.0 is the general token that says the browser is mozilla compatible, and is common to almost every browser today.
... platform describes the native platform the browser is running on (e.g.
...firefox os phones simply say "mobile"; the web is the platform.
...And 10 more matches
Structure of an installable bundle - Archive of obsolete content
platform-specific files gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) removed support for platform-specific subdirectories, described below.
... instead, you need to use manifest flags, such as the os and abi flags, in your chrome manifest to specify components that should be loaded for specific platforms.
... for example: binary-component components/windows/mycomponent.dll abi=winnt_x86-msvc binary-component components/mac/mycomponent.dylib abi=darwin_x86-gcc3 binary-component components/mac/mycomponent64.dylib abi=darwin_x86_64-gcc3 binary-component components/linux/mycomponent.so abi=linux_x86-gcc3 this also means you can no longer have platform-specific preference files in your bundle.
...And 8 more matches
A XUL Bestiary - Archive of obsolete content
i selected items for this group because they seemed to be either shrouded in mystery, misused as concepts or terms, or underestimated according to their role in xul and cross-platform development.
...in general, chrome refers to a xul interface and all of its supporting files; chrome means the xul content and structure, plus the css skin, plus whatever localization and platform-specific files are part of that xul interface.
...this special option allows you to create and access chromes independent of the mozilla browser and begins to suggest some possibilities for xul-as-platform beyond the simple restyling of the browser.
...And 8 more matches
Mozilla accessibility architecture
intro this document is for people who wish to understand the architecture of mozilla's accessibility api module, which provides support for platform accessibility apis.
...each platform's accessibility api has made different assumptions, although there are a number of common characteristics.
...given that there is a fair amount of commonality between accessibility api toolkits, it made sense to write of the code in a cross platform manner, and then deal with the platform differences on a consistent manner.
...And 8 more matches
Chrome registration
this can be useful for separating component and chrome registration instructions, or separate platform-specific registration data.
... platformversion when supporting more then one application, it is often more convenient for an extension to specify which gecko version it is compatible with.
...if there are chrome registration lines which only apply to a particular gecko version, the flag platformversion=version platformversion<version platformversion<=version platformversion>version platformversion>=version indicates that the instruction should only be applied if the extension is installed into an application using the gecko version identified.
...And 8 more matches
Index - Archive of obsolete content
ArchiveMozillaXULIndex
i selected items for this group because they seemed to be either shrouded in mystery, misused as concepts or terms, or underestimated according to their role in xul and cross-platform development.
... 611 special per-platform menu considerations beginner, guide, xul, xul popup guide for many menu commands, convention dictates where these items will be placed.
... 953 the joy of xul guide, mozilla, xpcom, xpconnect, xul this guide is designed to introduce application developers and their managers to xul so they can not only understand why mozilla's platform is based on it, but how they might adopt it for their own use.
...And 7 more matches
Introduction to XUL - Archive of obsolete content
terms "xpfe" is the term mozilla-the-organization is using to describe mozilla-the-browser's cross platform front end, because x and c look similar if you beat them long and hard with a hammer.
... the intention is to build cross-platform applications like browsers and mail clients from a set of tools designed for that purpose.
... the intention is not to implement a generic cross-platform application framework.
...And 7 more matches
The Firefox codebase: CSS Guidelines
writing cross-platform css firefox supports many different platforms and each of those platforms can contain many different configurations: windows 7, 8 and 10 default theme aero basic (windows 7, 8) windows classic (windows 7) high contrast (all versions) linux macos file structure the browser/ directory contains styles specific to firefox the toolkit/ directory contains styles that are...
... shared across all toolkit applications (thunderbird and seamonkey) under each of those two directories, there is a themes directory containing 4 sub-directories: shared linux osx windows the shared directories contain styles shared across all 3 platforms, while the other 3 directories contain styles respective to their platform.
... for new css, when possible try to privilege using the shared directory, instead of writing the same css for the 3 platform specific directories, especially for large blocks of css.
...And 7 more matches
Named Shared Memory
the nspr shared memory api provides a cross-platform named shared-memory interface that is modeled on similar constructs in the unix and windows operating systems.
... filenames the name passed to pr_opensharedmemory should be a valid filename for a unix platform.
...some platforms may mangle the name before creating the file and the shared memory.
...And 7 more matches
Introduction to Network Security Services
network security services (nss) is a set of libraries designed to support cross-platform development of communications applications that support ssl, s/mime, and other internet security standards.
... figure 1, below, shows a simplified view of the relationships among the three shared libraries listed above and nspr, which provides low-level cross platform support for operations such as threading and i/o.
... support for ilp32 in nss 3.2 and later versions, there are two new shared libraries for the platforms hp-ux for parisc cpus and solaris for (ultra)sparc (not x86) cpus.
...And 7 more matches
Plug-in Basics - Plugins
because plug-ins are platform-specific, you must port them to every operating system and processor platform upon which you want to deploy your plug-in.
...when the browser starts, it enumerates the available plug-ins (this step varies according to platform), reads resources from each plug-in file to determine the mime types for that plug-in, and registers each plug-in library for its mime types.
... understanding the plug-in api plug-ins and platform independence understanding the plug-in api a plug-in is a native code library whose source conforms to standard c syntax.
...And 7 more matches
The Business Benefits of Web Standards - Archive of obsolete content
the blogging community are particularly dynamic in this respect where on many platforms including wordpress, textpattern and habari, the site theme is a complete and discrete entity in its own right.
... increase website traffic maintain contact with your user on multiple platforms standards-based code and cross-platform go hand in hand.
... while some browsers have quirks that cause different behavior by platform, mozilla-based browsers are designed to behave identically on all supported platforms (mac, linux, unix, windows...) web content is increasingly being accessed by a growing number of user agents other than browsers, or by browsers on different platforms - for example mobile telephones.
...And 6 more matches
About NSPR
netscape portable runtime (nspr) provides platform independence for non-gui operating system facilities.
... history a good portion of the library's purpose, and perhaps the primary purpose in the gromit environment, was to provide the underpinnings of the java vm, more or less mapping the sys layer that sun defined for the porting of the java vm to various platforms.
... nspr went beyond that requirement in some areas and since it was also the platform independent layer for most of the servers produced by netscape.
...And 6 more matches
Index
11 index index, mdn meta, spidermonkey found 550 pages: 12 introduction to the javascript shell spidermonkey to get the spidermonkey javascript shell, see the spidermonkey build documentation or download a compiled binary for your platform from the nightly builds.
... 528 64-bit compatibility spidermonkey the following types or typedefs are always 64-bit on 64-bit platforms, and 32-bit on 32-bit platforms: 529 bytecode descriptions spidermonkey this document is automatically generated from opcodes.h by make_opcode_doc.py.
... 541 spidermonkey 1.8.5 spidermonkey spidermonkey 1.8.5 is supported on all the platforms where firefox 4 runs.
...And 6 more matches
Starting WebLock
the weblock user interface the weblock component in this tutorial uses xul to define the additional browser ui in a cross-platform way, and xul uses javascript to access and control xpcom components, but gecko's pluggable ui allows any user interface to call into gecko and the components you create as easily as you can from xul.
...on the macintosh platform, for example, files are represented as a triplet - two numbers and one string - so using a string on the macintosh does not adequately identify files on that operating system.
...the directory service provides directory and file locations in a cross platform uniform way to make this easier.
...And 6 more matches
List of Mozilla-Based Applications - Archive of obsolete content
couchdb document-oriented database uses spidermonkey courtanet benefit (fr) underwriting software for french insurance brokers crosscheck browserless testing framework uses mozilla rhino crowbar server tool cycloctopus screen scraping console cyclone3 content management system danger mobile platform uses gecko on the server side -- no longer active?
... dogtag certificate system uses nss dojo javascript toolkit uses mozilla rhino in shrinksafe eclipse platform open development platform the ajax toolkit framework, standard widget toolkit and eclipsemozilla projects make use of mozilla elixon wcms/xul web content management system fully remote xul wcms (no need to install extensions).
...application server uses mozilla rhino etna xml wysiwyg editor eudora mail and news application the upcoming version 8 will be based on thunderbird evergreen library automation system evolution email client uses nss exe elearning xhtml editor seems to be using xul for some of their webui facebook open platform facebook open platform the fbml parser used in the platform is based on mozilla code fennec browser for mobiles as mark notes: fennec is not firefox, it’s a completely different application findthatfont!
...And 5 more matches
Creating a Help Content Pack - Archive of obsolete content
starting with firefox 1.1 and the mozilla 1.8 platform, only the table of contents data source will be displayed.
... nc:platform (added in mozilla 1.8b2/firefox 1.1) when present specifies the platforms to which the information stored in the referenced data sources applies.
... this attribute is useful when some of your help contents only apply to one specific platform.
...And 5 more matches
Keyboard Shortcuts - Archive of obsolete content
in the example below, the file menu can be selected by pressing alt + f together (or some other key combination for a specific platform).
...the key used for keyboard shortcuts on the user's platform.
...the key used for access keys on the user's platform.
...And 5 more matches
Gecko FAQ - Gecko Redirect 1
gecko's architecture will serve mozilla well into the future, enabling faster time to market, more innovation, less costly development, easier distribution and updating, and better cross platform support.
...they have been demanding that all vendors fully support the open standards listed above so that they can have a rich, powerful formatting system and object model at their disposal, and "write once, view anywhere." gecko's robust support for these standards makes gecko the platform of choice for web content and web application developers worldwide.
... gecko is reusable on all platforms thanks to xpcom, a subset of com that works across platforms.
...And 5 more matches
Optimizing Applications For NSPR
netscape portable runtime (nspr) tries to provide a consistent level of service across the platforms it supports.
... multiplatform do not call any blocking system call from a local thread.
... nspr uses timer signals to implement thread preemption for local threads on some platforms.
...And 5 more matches
NSS FAQ
MozillaProjectsNSSFAQ
general questions what is network security services (nss) nss is set of libraries, apis, utilities, and documentation designed to support cross-platform development of security-enabled client and server applications.
... what platforms and development environments are supported?
... this section is out of date iplanet e-commerce solutions has certified nss 3.1 on 18 platforms, including aix 4.3, hp-ux 11.0, red hat linux 6.0, solaris (2.6 or later), windows nt (4.0 or later), and windows 2000.
...And 5 more matches
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
don't use msaa if you're not running on a windows platform ...
...these classes implement both nsiaccessible, our cross platform api, as well as iaccessible, which is specific to windows/msaa/com.
... the cross-platform nsdocaccessible and nsrootaccessible classes they inherit from are then told to start listening for dom, page load and scroll events.
...And 5 more matches
:is() (:matches(), :any()) - CSS: Cascading Style Sheets
WebCSS:is
droidfirefox for androidopera for androidsafari on iossamsung internet:is()chrome full support 68notes disabled full support 68notes disabled notes combinators in the selector list argument may not match correctly (see bug 842157).disabled from version 68: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... no support 66 — 71notes alternate name disabled notes combinators in the selector list argument may not match correctly (see bug 842157).alternate name uses the non-standard name: :matches()disabled from version 66 until version 71 (exclusive): this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
...support combinators.alternate name uses the non-standard name: :-webkit-any()edge full support 79notes disabled full support 79notes disabled notes combinators in the selector list argument may not match correctly (see bug 842157).disabled from version 79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
...And 5 more matches
Web audio codec guide - Web media technologies
additionally, webrtc implementations generally use a subset of these codecs for their encoding and decoding of media, and may support additional codecs as well, for optimal cross-platform support of video and audio conferencing, and to integrate better with legacy telecommunication solutions.
...instead, firefox relies upon a platform's native support for aac.
... this capability was introduced on each platform in different firefox releases: aac support in firefox using external library, by platform platform first firefox version with aac support windows (vista and later) 22 android 20 linux (depends on gstreamer) 26 macos 35 [2] chrome supports aac only in mp4 containers, and only supports aac's main profile.
...And 5 more matches
Install Manifests - Archive of obsolete content
targetplatform a string specifying a platform that the add-on supports.
... you can specify multiple targetplatform properties per manifest.
... examples <em:targetplatform>winnt_x86-msvc</em:targetplatform> <em:targetplatform>linux</em:targetplatform> <em:targetplatform>darwin_ppc-gcc3</em:targetplatform> <em:targetplatform>sunos_sparc-sunc</em:targetplatform> usually, you would use only the os part for themes or for extensions that are not fully cross-platform.
...And 4 more matches
Setting up your own test automation environment - Learn web development
see platforms supported by selenium for more information on where to get browser drivers from, etc.
... note: if you want to find out how to use webdriver with other server-side environments, also check out platforms supported by selenium for some useful links.
...ername: username can be found at automation dashboard const username = '{username}'; // accesskey: accesskey can be generated from automation dashboard or profile section const key = '{accesskey}'; // gridurl: gridurl can be found at automation dashboard const grid_host = 'hub.lambdatest.com/wd/hub'; function searchtextongoogle() { // setup input capabilities const capabilities = { platform: 'windows 10', browsername: 'chrome', version: '67.0', resolution: '1280x800', network: true, visual: true, console: true, video: true, name: 'test 1', // name of the test build: 'nodejs build' // name of the build }; // url: https://{username}:{accesstoken}@hub.lambdatest.com/wd/hub const gridurl = 'https://' + username + ':' ...
...And 4 more matches
Gecko Profiler FAQ
for js code, the profiler platform doesn’t capture any information about lines.
... for this purpose you should try to use a native profiler on your platform of choice (for example xperf/vtune on windows, instruments on osx, and perf/zoom on linux.) one workaround is to break the hot function into several explicitly-non-inline helpers, recompile, and re-profile.
...bug 1341811 suggests hooking platform thread spawning functions but nobody has looked at it yet.
...And 4 more matches
A guide to searching crash reports
specifically, crash-stats offers two basic functions: searching you can search the crash reports database by over 100 criteria: crash signature, date, platform, product, version, etc.
... fields are provided for four common search criteria: product, version, platform, and process type.
... add "mac os x" to the "platform" field.
...And 4 more matches
Build instructions
ns_use_gcc: on platforms where gcc is not the native compiler, tells nss to build with gcc instead of the native compiler.
... use_64: on platforms that support both 32-bit and 64-bit abis, tells nss to build for the 64-bit abi.
... default is 32-bit abi, except on platforms that do not support a 32-bit abi.
...And 4 more matches
An Overview of XPCOM
the xpcom solution the cross platform component object module (xpcom) is a framework which allows developers to break up monolithic software projects into smaller modularized pieces.
...but xpcom also provides several tools and libraries that enable the loading and manipulation of these components, services that help the developer write modular cross-platform code, and versioning support, so that components can be replaced or upgraded without breaking or having to recreate the application.
... xpcom not only supports component software development, it also provides much of the functionality that a development platform provides, such as: component management file abstraction object message passing memory management we will discuss the above items in detail in the coming chapters, but for now, it can be useful to think of xpcom as a platform for component development, in which features such as those listed above are provided.
...And 4 more matches
XPCOM
xpcom is a cross platform component object model, similar to microsoft com.
...the majority of xpcom components are not part of this core set and are provided by other parts of the platform (e.g.
...effectively, it is a different platform.bundling multiple binary componentsbinary xpcom components are sometimes required to implement low-level features for extensions.
...And 4 more matches
Mozilla
the original navigator code base had large sections that were shared across multiple platforms.
... many times, code checked in would compile or run on a handful of platforms.
...the tools needed to build mozilla are described on the build page for your platform.
...And 4 more matches
Key Values - Web APIs
corresponding virtual keycodes for common platforms are included where available.
... this can happen due to hardware or software constraints, or because of constraints around the platform on which the user agent is running.
... appcommand_undo gdk_key_undo (0xff65) [1] on keyboards without a dedicated del key, the mac generates the "delete" value when fn is pressed in tandem with delete (which is backspace on other platforms).
...And 4 more matches
Codecs used by WebRTC - Web media technologies
cb is a subset of the main profile, and is specifically designed for low-complexity, low-delay applications such as mobile video and videoconferencing, as well as for platforms with lower performing video processing capabilities.
...in order to improve reliability of webrtc media sharing across multiple platforms and browsers, it's required that webrtc endpoints that support avc handle certain parameters in specific ways.
...a given browser may also support other codecs; however, cross-platform and cross-device compatibility may be at risk if you use other codecs without carefully ensuring that support exists in all browsers your users might choose.
...And 4 more matches
system - Archive of obsolete content
var system = require("sdk/system"); // path environment variable console.log(system.env.path); // operating system console.log("platform = " + system.platform); // processor architecture console.log("architecture = " + system.architecture); // compiler used to build host application console.log("compiler = " + system.compiler); // host application build identifier console.log("build = " + system.build); // host application uuid console.log("id = " + system.id); // host application name console.log("name = " + system.name); // host...
... platform the type of operating system you're running on.
... var system = require("sdk/system"); console.log("platform = " + system.platform); architecture the type of processor architecture you're running on.
...And 3 more matches
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
one final note: i've only tried these techniques inside firefox, but they'll probably work more or less unchanged on other gecko-based platforms like thunderbird or seamonkey.
... on windows platforms the first time i built mozilla i used this guide.
... on other platforms on other platforms, namely linux and macos, the process is much easier.
...And 3 more matches
Chapter 4: Using XPCOM—Implementing advanced processes - Archive of obsolete content
internet explorer handles this using activex; in firefox, we use the cross-platform component object model, or xpcom.
... about xpcom xpcom is a framework for developing platform-independent components.
... note: if you're developing components in c++ or other compiled languages, be sure to include binaries for every platform.
...And 3 more matches
Mozilla Application Framework - Archive of obsolete content
related: xulrunner:what xulrunner provides, xulrunner hall of fame the mozilla application framework: for powerful, easy to develop cross-platform applications want to build applications?
... framework xul a comprehensive, cross-platform ui toolkit with an easy-to-learn xml language for defining ui structure, a schema for localization, and support for both native and cross-platform (using css) look and feel to make writing uis quick and painless.
... xpcom a simple, cross-platform component model with multiple language bindings and idl descriptions so you can plug your custom functionality into the framework and connect it with other components.
...And 3 more matches
Using XPInstall to Install Plugins - Archive of obsolete content
xpinstall is a javascript-based installer technology that works across all the platforms that mozilla and netscape browsers based on mozilla (such as netscape 7) are deployed.
... a definition of terms xpinstall is an installer technology, and the name itself stands for "cross platform install" (hence "xp" -- an abbreviation for "cross platform").
...since the file format that contains the software and the install.js javascript file is a cross-platform file (zip) and since javascript is understood by mozilla browsers on all platforms, often one single xpi package can be deployed on all platforms.
...And 3 more matches
Introduction - Archive of obsolete content
next » this tutorial is a guide to learning xul (xml user interface language) which is a cross-platform language for describing applications' user interfaces.
... most applications need to be developed using features of a specific platform making building cross-platform software time-consuming and costly.
... a number of cross-platform solutions have been developed in the past.
...And 3 more matches
prefwindow - Archive of obsolete content
on platforms where the convention is to apply changes immediately, the preferences are adjusted as soon as the user interface element is changed.
... on other platforms, the preferences are not applied until the dialog is closed.
...this one can be safely omitted in xulrunner-based applications but you can override the default behavior (true for mac os x and false for other platforms) setting it.
...And 3 more matches
NPAPI plugin reference - Archive of obsolete content
npembedprint substructure of npprint that contains platform-specific information used during embedded mode printing.
... npfullprint substructure of npprint that contains platform-specific information used during full-page mode printing.
... npp_handleevent delivers a platform-specific window event to the instance.
...And 3 more matches
Tamarin Tracing Build Documentation - Archive of obsolete content
for instructions on tamarin central, please see tamarin build documentation supported platforms operating system processor status windows xp x86 supported, acceptance and performance tests automated in buildbot mac os x 10.4 x86 supported, acceptance and performance tests automated in buildbot linux - ubuntu 8.0.4 x86 supported, acceptance and performance tests automated in buildbot windows mobile (pocket pc 5.0) armv4t supported, acceptance and performance tests automated in buildbot raw image (no os) armv5 supported, acceptance and performance tests not done linux (nokia n810) armv5 supported, acceptance and performance tests not done current build status t...
...the tamarin codebase contains a cross-platform build system for mozilla developers.
... the cross-platform build system is used for daily automated build testing so it is the most reliable system.
...And 3 more matches
Plug-in Development Overview - Gecko Plugin API Reference
when it starts up, the browser checks for plug-in modules for the platform and registers them.
...for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different platforms.
... the following sections describe platform-specific discovery and registration: ms windows unix mac os x ms windows on windows, plug-ins are found according to the section how gecko finds plug-ins.
...And 3 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
167 gaia boot2gecko, firefox os, gaia, glossary, infrastructure, intro the user interface and default application suite of the firefox os platform.
...note that the ios version of chrome uses that platform's webview, not blink.
... 195 html5 codingscripting, glossary, html, html5, markup the latest stable release of html, html5 takes html from a simple markup for structuring a document to a full app development platform.
...And 3 more matches
Addon
overview of required methods void iscompatiblewith(in string appversion, in string platformversion) void findupdates(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...
... iscompatible read only boolean true or false depending on whether the add-on is compatible with the current application version and platform version.
... isplatformcompatible read only boolean true or false depending on whether the add-on is compatible with the current operating system.
...And 3 more matches
Mozilla Projects
mozinfo throughout mozmill and other mozilla python code, checking the underlying platform is done in many different ways.
... necko necko is a network library that provides a platform-independent api for several layers of networking, ranging from transport to presentation layers.
... network security services network security services (nss) is a set of libraries designed to support cross-platform development of security-enabled client and server applications.
...And 3 more matches
nsIPrintingPrompt
each platform has a "base" or "backstop" implementation of the service.
... historically, platform toolkits with native dialogs have implemented them in the gfx layer usually they were displayed when a new devicecontextspec specific to that platform was created.
... defaults for platform service: showprintdialog - displays a native dialog showpagesetup() - displays a xul dialog showprogress() - displays a xul dialog summary for windows embedders: stated once again: there is no "fallback" native platform support in gfx for the displaying of the native print dialog.
...And 3 more matches
nsIXULAppInfo
for xulrunner applications, this will be different than the build id of the platform.
... platformbuildid acstring the build id/date of gecko and the xulrunner platform.
... platformversion acstring the version of gecko or xulrunner platform, for example "1.8.1.19" or "1.9.3pre".
...And 3 more matches
XPCOM ABI
while xpcom components written in a scripting language (such as javascript) can be moved across platforms (such as windows and os x) without adaptation, those written in a compiled language (such as c++) require recompilation when moving to a different platform.
... a binary xpcom component consists of an .xpt file which fits all platforms and a dll (.dll on windows, .so on unix) which is platform-specific and has a certain abi.
... abi naming each abi is named with a string [target_xpcom_abi] of the following format: {cpu_arch}-{target_compiler_abi} {cpu_arch} [platforms] represents the cpu architecture and may be either: x86 - i386 and higher series (including x86-64 cpus in 32-bit mode) ppc - powerpc series alpha - alpha series x86_64 - amd64/emt64 series in 64-bit mode (32-bit mode is still considered x86) sparc - sparc series ia64 - itanium series {target_compiler_abi}[platforms] represents the compiler abi and may be either: msvc - microsoft visual c++ n32 - irix 6 c+...
...And 3 more matches
Plug-in Development Overview - Plugins
when it starts up, the browser checks for plug-in modules for the platform and registers them.
...for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different platforms.
... the following sections describe platform-specific discovery and registration: ms windows unix mac os x ms windows on windows, plug-ins are found according to the section how gecko finds plug-ins.
...And 3 more matches
Performance fundamentals - Web Performance
in the context of open web apps, this document explains in general what performance is, how the browser platform helps improve it, and what tools and processes you can use to test and improve it.
... platform performance optimizations this section provides a brief overview of how firefox/gecko contributes to performance generally, below the level of all applications.
... from a developer's or user's perspective, this answers the question, "what does the platform do for you?" web technologies the web platform provides many tools, some better suited for particular jobs than others.
...And 3 more matches
Introduction to progressive web apps - Progressive web apps (PWAs)
it's not a brand new concept—such ideas have been revisited many times on the web platform with various approaches in the past.
... a look and feel that is more integrated with the native platform—app icons on the home screen or app launcher, applications that automatically run in full screen mode, etc.
... some of the capabilities have already been enabled on certain web-based platforms by proprietary technologies like open graph, which provides a format for specifying similar metadata in the html <head> block using <meta> tags.
...And 3 more matches
WebAssembly Concepts - WebAssembly
this has huge implications for the web platform — it provides a way to run code written in multiple languages on the web at near-native speed, with client apps running on the web that previously couldn’t have done so.
... webassembly goals webassembly is being created as an open standard inside the w3c webassembly community group with the following goals: be fast, efficient, and portable — webassembly code can be executed at near-native speed across different platforms by taking advantage of common hardware capabilities.
... how does webassembly fit into the web platform?
...And 3 more matches
Chapter 3: Introduction to XUL—How to build a more intuitive UI - Archive of obsolete content
like web pages, which display the same regardless of platform, applications marked up in xul will work the same in any environment where firefox runs.
...this element takes a number of attributes, and can easily be made to display controls (buttons, etc) using widgets and layouts native to whatever platform it is running on.
... using the icon attribute instead of the image attribute allows you to display buttons with icons that are standard for the platform.
...And 2 more matches
Index of archived content - Archive of obsolete content
n-frame frame/utils fs/path io/byte-streams io/file io/text-streams lang/functional lang/type loader/cuddlefish loader/sandbox net/url net/xhr places/bookmarks places/favicon places/history platform/xpcom preferences/event-target preferences/service remote/child remote/parent stylesheet/style stylesheet/utils system/child_process system/environment system/events system/runtime system/unload system/xul-app tabs/ut...
... new security model for web services new skin notes overview of how downloads work plug-n-hack plug-n-hack get involved plug-n-hack phase1 plug-n-hack phase2 plug-n-hack tools supported plugin architecture porting nspr to unix platforms priority content prism blogposts build bundlelibrary bundles configuration extensions faq hostwindow installer scripting styling proxy ui pydom rdf api rdf dat...
... xulrunner/old releases toolkit.defaultchromefeatures toolkit.defaultchromeuri toolkit.singletonwindowtype xulauncher ant script to assemble an extension application/http-index-format specification calicalendarview calicalendarviewcontroller califiletype mozilla.dev.platform faq reftest opportunities files symsrv_convert xbdesignmode.js archived open web documentation browser detection and cross browser support browser feature detection displaying notifications (deprecated) e4x e4x for templating processi...
...And 2 more matches
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
redhat/rpms/i386/thunderbird-1.0.2-1.3.3.i386.rpm after instillation, autoconfig is finally back here: $ rpm -ql thunderbird | grep autoconfig /usr/lib/thunderbird-1.0.2/chrome/locale/autoconfig /usr/lib/thunderbird-1.0.2/components/autoconfig.xpt /usr/lib/thunderbird-1.0.2/components/libautoconfig.so /usr/lib/thunderbird-1.0.2/defaults/autoconfig /usr/lib/thunderbird-1.0.2/defaults/autoconfig/platform.js /usr/lib/thunderbird-1.0.2/defaults/autoconfig/prefcalls.js bugs reports related for the record, for old 1.0.x releases...
...how as it been compiled?) about:buildconfig build platform target i686-pc-linux-gnu build tools compiler version compiler flags gcc gcc version 3.4.3 20050227 (red hat 3.4.3-22.fc3) -wall -w -wno-unused -wpointer-arith -wcast-align -wno-long-long -pedantic -pthread -pipe c++ gcc version 3.4.3 20050227 (red hat 3.4.3-22.fc3) -fno-rtti -fno-exceptions -wall -wconversion -wpointer-arith -wcast-align -woverloaded-virtual -wsynth -wno-ctor-dtor-privacy -wno-...
...var platform = getplatform(); // e.g.
...And 2 more matches
getFolder - Archive of obsolete content
the first set contains platform-independent locations; the second set contains platform-specific locations.
... you are encouraged to use the platform-independent locations.
...for example, mydir = getfolder("file:///", "c|/mysoftco/somedir"); note that forward slashes are used, regardless of the platform.
...And 2 more matches
Using nsIXULAppInfo - Archive of obsolete content
t implementing nsixulappinfo use this code: var appinfo = components.classes["@mozilla.org/xre/app-info;1"] .getservice(components.interfaces.nsixulappinfo); (for explanation see this creating xpcom article.) getting application information after you obtained the app info component, you can read its properties to get the application's id, human-readable name, version, platform version, etc.
... note: nsixulappinfo provides information about the application and the platform, be careful to use the right one, especially when dealing with xulrunner-based applications.
... platform version nsixulappinfo provides version information about both the xul application (such as firefox) and the platform (i.e.
...And 2 more matches
Getting started with XULRunner - Archive of obsolete content
next » this article explores the mozilla platform by building a basic desktop application using xulrunner.
... given that firefox, thunderbird, and multiple other applications are written using the platform, it's a safe bet that it can be used to build a basic application.
...one way to achieve this is to run the following script everytime you want to install a new version: firefox_version=`grep -po "\d{2}\.\d+" /usr/lib/firefox/platform.ini` arch=`uname -p` xurl=https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$firefox_version/runtimes/xulrunner-$firefox_version.en-us.linux-$arch.tar.bz2 cd /opt sudo sh -c "wget -o- $xurl | tar -xj" sudo ln -s /opt/xulrunner/xulrunner /usr/bin/xulrunner sudo ln -s /opt/xulrunner/xpcshell /usr/bin/xpcshell you could also save this script to a file for convenience.
...And 2 more matches
NPWindow - Archive of obsolete content
syntax typedef struct _npwindow { void* window; /* platform specific handle */ uint32_t x; /* coordinates of top left corner */ uint32_t y; /* relative to a netscape page */ uint32_t width; /* maximum window size */ uint32_t height; nprect cliprect; /* clipping rectangle coordinates */ #ifdef xp_unix void * ws_info; /* platform-dependent additional data */ #endif /* xp_unix */ npwindowtype type; /* window or drawable target */ } npwindow; fields the data structure has the following fields: window platform-specific handle to a native window element in the netscap...
...values: npwindowtypewindow: indicates that the window field holds a platform-specific handle to a window (as in navigator 2.0 and navigator 3.0).
...the window field holds a platform-specific handle to a drawable or an off-screen pixmap, as follows: windows: hdc mac os: pointer to np_port structure unix/x11: not used.
...And 2 more matches
Audio for Web games - Game development
this article provides a detailed guide to implementing audio for web games, looking at what works currently across as wide a range of platforms as possible.
... mobile audio caveats by far the most difficult platforms to provide web audio support for are mobile platforms.
... unfortunately these are also the platforms that people often use to play games.
...And 2 more matches
Styling web forms - Learn web development
and even with css available to style html, browser vendors have historically been reluctant to make form controls stylable because users were so accustomed to the visual appearance of their respective platforms.
...website owners want form styles that fit in with their overall site design more than ever, and the web platform has changed to make this more possible.
...these problems can be divided into three categories: the good some elements can be styled with few if any problems across platforms.
...And 2 more matches
Introduction to automated testing - Learn web development
note: unlike other cloud-based cross browser testing service providers, lambdatest offers a freemium account where you get lifetime access to their platform.
... the basics: manual tests the browserstack live dashboard allows you to choose what device and browser you want to test on — platforms in the left column, devices on the right.
... clicking on one of those browser icons will load up your choice of platform/device/browser — choose one now, and give it a try.
...And 2 more matches
JavaScript OS.Constants
useful, for instance, to access the platform code from javascript in conjunction with js-ctypes.
...useful mostly for using js-ctypes to interact with the following platforms: macos x; android; linux; other variants of unix.
... os.constants.libc is available on all platforms, although some constants are not defined everywhere.
...And 2 more matches
Localizing with Mozilla Translator
since it is written in java, any platform that supports java 1.7 or above supports mozillatranslator also.
...files hanging directly from the platform neutral platform can't be part of a partial glossary (because they are not components), and platform neutral itself can't be selected either, since it is not a component, but a platform.
... from cvs to mercurial in mt so, you have a firefox product in mt with a platform neutral and, inside it, several directories (''components'' in mt terminology) more or less like the second sample above, checked out from cvs.
...And 2 more matches
NSPR Contributor Guide
abstract: nspr accepts contributions in the form of bugfixes, new features, libraries, platform ports, documentation, test cases and other items from many sources.
...your new feature must be implemented on all platforms supported by nspr.
... when you consider a new api for nspr ask yourself if your proposed feature can implement it across all platforms supported by nspr.
...And 2 more matches
Using JSS
MozillaProjectsNSSJSSUsing JSS
the exact library names vary according to the convention for each platform.
...the following table gives the core names of the libraries, omitting the platform-specific prefix and suffix.
...not present on all platforms.
...And 2 more matches
SpiderMonkey Internals
the representation is 64 bits and uses nan-boxing on all platforms, although the exact nan-boxing format depends on the platform.
...other values are encoded as a value and a type tag: on x86, arm, and similar 32-bit platforms, we use what we call "nunboxing", in which non-double values are a 32-bit type tag and a 32-bit payload, which is normally either a pointer or a signed 32-bit integer.
... on x64 and similar 64-bit platforms, pointers are longer than 32 bits, so we can't use the nunboxing format.
...And 2 more matches
Bundling multiple binary components
actually, nspr has portable versions of those features that work across platforms.
... this approach uses only one binary for each platform (win/mac/linux) but creates complexity in the binaries - loading the methods and creating the wrappers.
...one for each version of gecko and os platform.
...And 2 more matches
nsIAlertsService
the specific appearance varies from platform to platform.
... note: since gecko 22, the notifications are provided by firefox and have become platform-independent.
...the text must not be too long, otherwise it might be truncated to a platform-specific length.
...And 2 more matches
nsIAppShell
if the native platform needs to tradeoff performance vs.
... resumenative() resumes the use of additional platform-specific methods to run() gecko events on the main application thread.
...on some platforms this will be a no-op.
...And 2 more matches
nsILocalFile
persistentdescriptor acstring on some platforms, the value of nsifile.path may be insufficient to uniquely identify the file on the local file system.
... getrelativedescriptor() returns a relative file path in an opaque, cross platform format.
... void initwithnativepath( in acstring filepath ); parameters filepath a string that specifies a platform-specific, full path to a file or directory.
...And 2 more matches
Xptcall Porting Status
this is a status page for the multiplatform porting of xptcall.
...feel free to email me with questions or to volunteer to contribute xptcall code for any platform.
...status status platform contributors and <font color="red">?</font> possible contributors notes <font color="white">done</font> win32 x86 john bandhauer <jband@netscape.com> win32 <font color="white">done</font> linux x86 john bandhauer <jband@netscape.com> ulrich drepper <drepper@cygnus.com> unix <font color="white">done</font> freebsd and netbsd x86 christoph toshok <toshok@hungry.com>, john bandhauer <jband@netscape.com> unix (same as linux 86 code) <font color="white">done</font> bsd/os x86 bert driehuis <bert_driehuis@nl.compuware.com> unix (same as linux 86 code) bert contributed patches that *should* do the right thing for all the unixish-x86 versions of this cod...
...And 2 more matches
appearance (-moz-appearance, -webkit-appearance) - CSS: Cascading Style Sheets
the appearance css property is used to display an element using platform-native styling, based on the operating system's theme.
... the -moz-appearance property was used in xul stylesheets to design custom widgets with platform-appropriate styling.
... it was also used in the xbl implementations of the widgets that ship with the mozilla platform.
...And 2 more matches
User-Agent - HTTP
header type request header forbidden header name no syntax user-agent: <product> / <product-version> <comment> common format for web browsers: user-agent: mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions> directives <product> a product identifier — its name or development codename.
...the ua string of firefox is broken down into 4 components: mozilla/5.0 (platform; rv:geckoversion) gecko/geckotrail firefox/firefoxversion mozilla/5.0 is the general token that says the browser is mozilla-compatible.
... platform describes the native platform the browser is running on (windows, mac, linux, android, etc.), and if it's a mobile phone.
...And 2 more matches
Developing for Firefox Mobile - Archive of obsolete content
enable usb debugging on the device (step 2 of this link only) on the development machine: install version 1.5 or higher of the add-on sdk install the correct version of the android sdk for your device using the android sdk, install the android platform tools next, attach the device to the development machine via usb.
...android platform tools will have installed adb in the "platform-tools" directory under the directory in which you installed the android sdk.
... make sure the "platform-tools" directory is in your path.
...io/file supported io/text-streams supported lang/functional supported lang/type supported loader/cuddlefish supported loader/sandbox supported net/url supported net/xhr supported places/bookmarks not supported places/favicon not supported places/history not supported platform/xpcom supported preferences/service supported stylesheet/style supported stylesheet/utils supported system/environment supported system/events supported system/runtime supported system/unload supported system/xul-app supported tabs/utils supported test/assert supported ...
File I/O - Archive of obsolete content
nsifile and path strings you can use nsifile.path to get a platform-specific path string, for example "c:\windows\system32" or "/usr/share".
... note: avoid using dir.path+"\\"+"myfile.txt", as it is not cross-platform at all.
...path + "\\" : path + "/") + "myfile.txt"; is possible, but nsifile.append() is much easier to read and is guaranteed to work on all platforms.
...in this case an nsichannel object has to be explicitly created from the file: components.utils.import("resource://gre/modules/netutil.jsm"); // content type hint is useful on mobile platforms where the filesystem // would otherwise try to determine the content type.
Introduction - Archive of obsolete content
you can think of it as a quick guide to the expansive world that is the mozilla platform.
... firefox and other mozilla applications can be seen as composed of two different parts: a user interface layer that is distinct for each project, and a common platform on top of which the interface layer is built.
... the user interface is built with technology known as xul, and the platform is known as xulrunner.
...it is this very powerful platform that has allowed such a fast growth of the development community surrounding mozilla and firefox.
XPCOM Objects - Archive of obsolete content
« previousnext » xpcom xpcom is a cross platform component object model, similar to microsoft com.
...the largest of the two is a compiled platform, mostly written in c++.
...well, those are applications that, simply put, take the underlying platform with perhaps a few changes and additions, and then write their own chrome layer.
... this lower layer is called xulrunner, and it is a very powerful platform, providing a very robust development base for web-enabled, cross-platform applications.
Documentation for BiDi Mozilla - Archive of obsolete content
note that we are not affected by buggy bidi implementations on specific platforms, since the platform never sees a text fragment with mixed directionality, and is not expected to do anything more complicated than displaying left-to-right text from left to right or right-to-left text from right to left.
... in some circumstances, even on a platform with bidi capability, the layout code has to reverse text fragments or to allow for the fact that they are displayed in reverse.
... text in visual mode must also be reversed before display on a bidi platform.
... nsibidikeyboard widget/public/nsibidikeyboard.idl widget/src/%platform%/nsbidikeyboard.cpp sets and queries the directionality of the current keyboard language.
Menu - Archive of obsolete content
ArchiveMozillaJetpackUIMenu
due to a platform bug in firefox, on os x only, for menus in the menu bar only, command functions defined on menuitems with submenus are not called when descendant menuitems are clicked.
...on some platforms this character is underlined in the label.
...fancy separators may behave differently on different platforms, however.
...if the menu remains open when getrecenttweets() receives data from the network and calls done(), the "loading..." item is replaced with the tweets, one item per tweet: this example will not work on os x due to a platform bug in firefox.
Modularization techniques - Archive of obsolete content
the only platform for which com support is currently widely available is windows.
... because it's not a cross platform solution, and that's what we need.
... we're going to make every effort to make our interfaces compatible with com on platforms that support it, so it may not matter.
...this technology is built into windows, but not most other platforms.
Scripting - Archive of obsolete content
prism exposes desktop integration features through an property of the window object called platform.
... the platform property implements the nsiplatformglue interface, whose methods are described in the following section.
... methods of the window.platform object can be called from webapp.js or from web content.
... the following code can be used by web content to determine whether it is running in prism: if ("platform" in window) { // prism-specific code goes here } see the nsiplatformglue idl definition file for details of the methods available to prism apps.
Styling - Archive of obsolete content
simply add the webapp.css to the bundle and it will be injected into the web application, regardless of the platform or os.
... it is also possible to create platform-specific styles.
...to use platform-specific styles, create a folder in the bundle archive for each supported os and place a webapp.css file in the folder.
...note: you can also include a root level webapp.css which will be used if a platform-specific version is not found.
Install Wizards (aka: Stub Installers) - Archive of obsolete content
the same xpinstall engine is used by the browser and the stub installers on all platforms.
...the install wizard widgets and dialogs the code that reads in the configuration file (config.ini) and dynamically installs from the net or from local xpi modules found next to the installer binary the code that processes user selections the code that calls the xpinstall engine through xpistub the libxpnet code that is statically linked in the stub installers are written in code native to the platform using native widget toolkits including the windows api for windows, the mac toolbox for the mac, and gtk for the unix version.
... to learn more about the three platform-specific versions of the stub installer follow the links below: unix stub installer mac stub installer windows stub installer what do we mean by xpistub?
... cross-platform functionality for making file transfers across a network is provide by the library libxpnet.
Skinning XUL Files by Hand - Archive of obsolete content
by the way, in contrast to the term skin, "chrome" refers to the skin and the content and whatever localization and platform-specific files are necessary for a particular part of the application or window.
... in short, xul provides the tools for anybody to create interfaces as complex and as attractive as any c++/mfc/visual ide/templates toolkit user's, and it does so in a way that makes these interfaces available on any platform.
... you don't have to know the vagueries of a "4gl" programming language or acquaint yourself with the innards of a particular platform and its native widgetry at the expense of others.
... xul's technologies are interoperable, consistent, cross-platform, free, and readily available.
window - Archive of obsolete content
by default, the window will have a platform-specific frame around it.
... to set an icon for the window, create a platform-specific icon file <windowid>.ico and/or <windowid>.xpm and place or install these files into the <mozilla-directory>/chrome/icons/default/ directory.
...this value may be -1 to use the default margin for that side on the current platform, 0 to have no system border (that is, to extend the client area to the edge of the window), or a value greater than zero to indicate how much less than the default default width you wish the margin on that side to be.
...this is supported only from window elements, and is ignored on platforms that don't support drawing into the title bar.
Archived Mozilla and build documentation - Archive of obsolete content
mozilla application framework the mozilla application framework: for powerful, easy to develop cross-platform applications mozilla crypto faq in this document i try to answer some frequently asked questions about the mozilla web browser and mail/news client and its support for ssl, s/mime, and related features based on cryptographic technology.
... mozprocess mozprocess provides python process management via an operating system and platform transparent interface to mozilla platforms of interest.
... nanojit nanojit is a small, cross-platform c++ library that emits machine code.
... porting nspr to unix platforms last modified 16 july 1998 priority content update: i've removed documents from this list that have been migrated into the wiki.
External resources for plugin creation - Archive of obsolete content
framework: firebreath project home page project history description (from the project creators): firebreath is a cross-platform browser plugin framework written in c++.
... platforms supported include windows, linux, and mac os x (intel).
... all platforms rely on cmake for easy cross-platform builds.
...project: juce project home page description (from the home page): juce (jules' utility class extensions) is an all-encompassing c++ class library for developing cross-platform applications.
NPAnyCallbackStruct - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary note: this structure is only used on unix platforms.
... description callback structures are used to pass platform-specific information.
... the npanycallbackstruct structure contains information required by the platformprint field of the npembedprint structure during embedded mode printing.
... during printing in embedded mode, the platformprint field of the npembedprint structure points to an npanycallbackstruct.
NPP_HandleEvent - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary delivers a platform-specific window event to the instance.
... for windowless plug-ins: all platforms.
... event platform-specific value representing the event handled by the function.
... mac os the browser does not give a windowed plug-in a native window, because the mac os platform does not support child windows.
Examples - Game development
free/demo games beloola webvr platform to connect passionate people.
... nutmeg cute retro scrolling platforming action.
... biolab disaster side-scrolling platform shooter.
... classic platformer canvas 2d game based on `visual-ts game engine` - physics based on matter.js commercial games oort online a mmo exploration, building, and battle game (currently in development.) a wizard's lizard top down zelda-esque exploration/rpg.
Mobile accessibility - Learn web development
previous overview: accessibility next with web access on mobile devices being so popular and renowned platforms such as ios and android having full-fledged accessibility tools, it is important to consider the accessibility of your web content on these platforms.
... these days, mobile devices can usually handle fully-featured websites, and the main platforms even have screenreaders built in to enable visually impaired users to use them successfully.
... summary of screenreader testing on android and ios the most common mobile platforms have fully functional screen readers.
... it is also worth considering the use of html5 form input types such as the date on mobile platforms as they handle them well — both android and ios, for example, display usable widgets that fit well with the device experience.
How do you host your website on Google App Engine? - Learn web development
google app engine is a powerful platform that lets you build and run applications on google’s infrastructure — whether you need to build a multi-tiered web application from scratch or host a static website.
... creating a google cloud platform project to use google's tools for your own site or app, you need to create a new project on google cloud platform.
... go to the app engine dashboard on the google cloud platform console and press the create button.
... creating an application each cloud platform project can contain one app engine application.
Introduction to cross browser testing - Learn web development
now you know your target testing platforms, you should go back and review the required featureset and what technologies you are going to use.
... test on a mobile platform, such as android or ios.
...get as much information as you can from the person reporting the bug — what platform(s), device(s), browser version(s), etc.
...the same browser version on different desktop platforms, or a few different versions of the same browser on the same platform) to see how widely the bug persists.
Makefiles - Best practices and suggestions
platform specific - avoid this logic whenever possible.
... code as little platform specific logic within a makefile as possible, a conditional and compiler flags at most should be needed.
... for ex use defines within sources to shift platform logic into your source code.
... if a unit test is platform specific write your makefile so it can be used on all platforms but only do work on the specific hardware or class of hardware.
AddonUpdateChecker
to import the addonupdatechecker, use: components.utils.import("resource://gre/modules/addonupdatechecker.jsm"); method overview updateinfo getcompatibilityupdate(in updateinfo updates[], in string version, in boolean ignorecompatibility, in string appversion, in string platformversion) updateinfo getnewestcompatibleupdate(in updateinfo updates[], in string appversion, in string platformversion) void checkforupdates(in string id, in string type, in string updatekey, string url, in updatechecklistener listener) constants constant description error_timeout the update check timed out.
... updateinfo getcompatibilityupdate( in updateinfo updates[], in string version, in boolean ignorecompatibility, in string appversion, in string platformversion ) parameters updates an array of update objects version the version of the add-on to get new compatibility information for ignorecompatibility an optional parameter to get the first compatibility update that is compatible with any version of the application or toolkit appversion the version of the application or null to use the current version platformversion the version of th...
...e platform or null to use the current version getnewestcompatibleupdate() returns the newest available update from a list of update objects.
... updateinfo getnewestcompatibleupdate( in updateinfo updates[], in string appversion, in string platformversion ) parameters updates an array of update objects appversion the version of the application or null to use the current version platformversion the version of the platform or null to use the current version checkforupdates() starts an update check.
OS.File.Info
due to differences between operating systems, the information available depends on the platform.
...ile.error && reason.becausenosuchfile) { // |somepath| does not represent anything } else { // some other error } } ) example: determining the owner of a file let promise = os.file.stat() promise.then( function onsuccess(info) { if ("unixowner" in info) { // info.unixowner holds the owner of the file } else { // information is not available on this platform } } ); evolution of this example bug 802534 will introduce the ability to check whether field unixowner appears in os.file.info.prototype, which will make it possible to write faster code.
... instances of os.file.info cross-platform attributes isdir true if the file is a directory, false otherwise.
... platform-specific attributes unix unixowner a number holding the identifier of the unix owner of this file.
Process Forking in NSPR
the threads provided in netscape portable runtime (nspr) are implemented using different mechanisms on the various platforms.
... on some platforms, nspr threads directly map one-to-one to the threads provided by the platform vendor, on other platforms nspr threads are basically user-level threads within a single process (with no kernel threads) and on still others nspr threads are user-level threads implemented on top of one or more kernel threads within single address space.
... nspr does not override the fork function and so, when fork is called from the nspr thread the results are different on the various platforms.
...so, to be consistent across all platforms, it is suggested that when using fork in a nspr thread; the exec function should be called in the child process.
Dynamic Library Linking
platform notes to use the dynamic library loading functions on some platforms, certain environment variables must be set at run time, and you may need to link your executable programs using special linker options.
... this section summarizes these platform idiosyncrasies.
...each platform has its own standard directories in which to look for dynamic libraries, plus a customizable list of directories specified by an environment variable.
...if you use the gnu compilers (on any platform), you must also link the executable program with the -e option.
Introduction to NSPR
the netscape portable runtime (nspr) api allows compliant applications to use system facilities such as threads, thread synchronization, i/o, interval timing, atomic operations, and several other low-level services in a platform-independent manner.
... nspr does not provide a platform for porting existing code.
...it's usually not necessary to create a global thread explicitly unless you are planning to port your code only to platforms that provide threading services with which you are familiar or unless the thread will be executing code that might directly call blocking os functions.
...however, because of the multiple strategies to provide execution vehicles for threads on various host platforms, priorities are not a clearly defined abstraction in nspr.
Long Long (64-bit) Integers
where 64-bit integers are desired, use of nspr's implementation is recommended to ensure cross-platform compatibility.
...the specific implementation of each macro depends on whether the compiler for the target platform supports 64-bit integers.
... for a specific target platform, if 64-bit integers are supported for that platform, define have_long_long at compile time.
... 64-bit integer types nspr provides two types to represent 64-bit integers: print64 pruint64 64-bit integer functions the api defined for the 64-bit integer functions is consistent across all supported platforms.
SpiderMonkey 31
get it here mozilla-esr31 you will find it in "firefox extended support release 31" package on hg release platform support spidermonkey 31 is supported on all the platforms where firefox 31 runs.
...on some other platforms (sparc, mips), the jit is provided but not supported.
... on all other platforms the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
... on posix platforms, building a threadsafe shell no longer requires nspr.
nsIFilePicker
e); void open(in nsifilepickershowncallback afilepickershowncallback); short show(); obsolete since gecko 57.0 attributes attribute type description addtorecentdocs boolean if true, the file is added to the operating system's "recent documents" list (if the operating system has one; nothing happens if there is no such concept on the user's platform).
...on some platforms, this is automatically appended to filenames the user enters, if required.
... filterapps 0x040 corresponds to the platform specific application filter for file extensions.
... application files for the user's platform will pass through the filter.
nsIWindowsRegKey
constants root key constants the values for these keys correspond to the values from winreg.h in the ms platform sdk.
... the root_key_ prefix corresponds to the hkey_ prefix in the ms platform sdk.
...the values defined here correspond to the regsam values defined in winnt.h in the ms platform sdk, where access_ is replaced with key_.
...the numeric values of these constants are taken directly from winnt.h in the ms platform sdk.
Using Mozilla code in other projects
mozilla provides a development platform for desktop applications, called xul, atop which you can build applications.
... various components of the platform, such as the spidermonkey javascript engine, can be used in your own projects without the rest of the platform.
... nspr the netscape portable runtime provides a platform-neutral api for system level and libc-type functions.
... necko the mozilla networking library provides cross-platform networking functionality.
Structures - Plugins
npembedprint substructure of npprint that contains platform-specific information used during embedded mode printing.
... npfullprint substructure of npprint that contains platform-specific information used during full-page mode printing.
... npprintcallbackstruct contains information required by the platformprint field of the npembedprint during embedded mode printing.
... npregion represents a platform-defined region of a page.
Call Tree - Firefox Developer Tools
ut the whole call graph, with associated sample count: sortall() // 8 -> sort() // 37 -> bubblesort() // 1345 -> swap() // 252 -> selectionsort() // 190 -> swap() // 1 -> quicksort() // 103 -> partition() // 12 platform data you'll also see some rows labeled gecko, input & events, and so on.
...if we look at the code for sort(), it should be fairly obvious that the high platform data cost is coming from repeated calls to console.log(): function sort(unsorted) { console.log(bubblesort(unsorted)); console.log(selectionsort(unsorted)); console.log(quicksort(unsorted)); } it would certainly be worthwhile considering more efficient ways of implementing this.
... by default, the call tree doesn't split platform data out into separate functions, because they add a great deal of noise, and the details are not likely to be useful to people not working on firefox.
... if you want to see the details, check "show gecko platform data" in the settings.
PublicKeyCredentialCreationOptions.authenticatorSelection - Web APIs
syntax authenticatorselection = publickeycredentialcreationoptions.authenticatorselection value an object with the following properties: authenticatorattachmentoptional a string which is either "platform" or "cross-platform".
...the latter describes a device which may be used across different platform (such as a usb or nfc device).
... note: see publickeycredential.isuserverifyingplatformauthenticatoravailable() which resolves to true when a user-verifiying platform authenticator is available.
... examples var publickey = { authenticatorselection:{ authenticatorattachment: "cross-platform", requireresidentkey: true, userverification: "required" }, challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifi...
font-size-adjust - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossamsung internetfont-size-adjustchrome full support 43disabled full support 43disabled disabled from version 43: this feature is behind the enable experimental web platform features preference.
... to change preferences in chrome, visit chrome://flags.edge full support 79disabled full support 79disabled disabled from version 79: this feature is behind the enable experimental web platform features preference.firefox full support 40 full support 40 full support 3notes notes before firefox 40, font-size-adjust: 0 was incorrectly interpreted as font-size-adjust: none (bug 1144885).
...l support 1notes notes before firefox 3, font-size-adjust was supported on windows only.ie no support noopera full support 30disabled full support 30disabled disabled from version 30: this feature is behind the enable experimental web platform features preference.safari no support nowebview android no support nochrome android full support 43disabled full support 43disabled disabled from version 43: this feature is behind the enable experimental web platform ...
...to change preferences in chrome, visit chrome://flags.firefox android full support 4opera android full support 30disabled full support 30disabled disabled from version 30: this feature is behind the enable experimental web platform features preference.safari ios no support nosamsung internet android no support nolegend full support full support no support no supportsee implementation notes.see implementation notes.user ...
Cross-browser audio basics - Developer guides
</audio> note: this value is often ignored on mobile platforms, and its use is not recommended unless really necessary.
...</audio> note: this value is often ignored on mobile platforms.
... note: this value is often ignored on mobile platforms.
...flash-video.swf"> <param name="movie" value="mediaelement-flash-video.swf" /> <param name="flashvars" value="controls=true&isvideo=false&file=audiofile.mp3" /> </object> </audio> note: you should be aware that flash and silverlight code require that the user has the appropriate plugin installed, and that the browser cannot guarantee the security aspects of code running on those plugin platforms.
Web Performance
resource timings are detailed network timing measurements regarding the loading of an application's resources.optimizing startup performanceregardless of platform, it's always a good idea to start up as quickly as possible.
...in the context of open web apps, this document explains in general what performance is, how the browser platform helps improve it, and what tools and processes you can use to test and improve it.performance monitoring: rum vs synthetic monitoringsynthetic monitoring and real user monitoring (rum) are two approaches for monitoring and providing insight into web performance.
... mobile performance with web access on mobile devices being so popular, and all mobile platforms having fully-fledged web browsers, but possibly limited bandwidth, cpu and battery life, it is important to consider the performance of your web content on these platforms.
... mobile performance with web access on mobile devices being so popular, and all mobile platforms having fully-fledged web browsers, but possibly limited bandwidth, cpu, and battery life, it is important to consider the performance of your web content on these platforms.
Low-Level APIs - Archive of obsolete content
frame/utils provides helper functions for working with platform internals like frames and browsers.
... platform/xpcom implement xpcom objects, factories, and services.
... test/httpd an http server for the mozilla platform, which can be used in unit tests.
Running applications - Archive of obsolete content
using nsiprocess the recommended way is to use the nsiprocess interface because it is crossplatform.
... using nsilocalfile.launch() this method is not implemented on all platforms, especially not on unix/linux!
... see nsilocalfile.launch() for details and make sure that all your target platforms support this method!
Deploying a Plugin as an Extension - Archive of obsolete content
the targetapplication section specifies that platform we want to work on (that id is for firefox).
...finally, if you want to package plugins for multiple platforms into a single extension, you can do that as well.
...firefox will load the correct plugins based on the platform, simply because the plugins for other platforms won't load.
Downloading Nightly or Trunk Builds - Archive of obsolete content
so to figure out how to download a cutting edge or bleeding edge or 'beta' version of firefox, you need to look for a "build" (which is developer-speak for the packaged files you can download) of 1.9.1 (the number of the underlying 'platform' called 'gecko' or 'mozilla' that firefox uses).
... as it turns out there is a platform number for every firefox number, but they are not the same number.
... note that nightly builds may not be created for every platform for every night.
Nanojit - Archive of obsolete content
overview nanojit is a small, cross-platform c++ library that emits machine code.
...the term lir is compiler jargon for a language used internally in a compiler that is usually cross-platform but very close to machine language.
... need guards are required in a cross platform dynamic language like javascript.
FAQ - Archive of obsolete content
ArchiveMozillaPrismFAQ
is prism a platform?
... no, prism is not a platform.
... prism is built on top of the mozilla platform and its gecko rendering engine, just like mozilla firefox, so it provides the same capabilities to web applications that firefox provides, including support for html, javascript, css, and <canvas>.
Running Tamarin acceptance tests - Archive of obsolete content
you should set environment variables as described above except for avm, which should be: $ export avm=$tamarin_build_top/platform/android/android_shell.py where $tamarin_build_top is your main tamarin repo folder.
...if you've correctly edited and run the android-vars.sh script mentioned on the tamarin build documentation page you should already be pathed to the adb executable in the public sdk/ndk, but if not it exists at /android-public/android-sdk-mac_86/platform-tools.
...the shell can be named variously in the build but on the phone the executable must be 'avmshell' $ adb shell 'mkdir /data/local/tamarin' $ adb push avmshell /data/local/tamarin/avmshell $ adb shell 'chmod 777 /data/local/tamarin/avmshell' copy android_runner.sh, if it doesn't already exist on the phone in /data/local/tamarin $ adb push tamarin-redux/platform/android/android_runner.sh /data/local/tamarin/android_runner.sh $ adb shell 'chmod 777 /data/loca/android_runner.sh' test it out with a simple .abc or no args for usage (should return exitcode=0) $ tamarin-redux/platform/android/android_shell.py hello.abc hello exitcode=0 test it out by retrieving the version information of the shell on the android device $ $avm -dversion shell 1.4 debug build 62...
Running Tamarin performance tests - Archive of obsolete content
you should set environment variables as described above except for avm, which should be: $ export avm=$tamarin_build_top/platform/android/android_shell.sh where $tamarin_build_top is your main tamarin repo folder.
...if you've correctly edited and run the android-vars.sh script mentioned on the tamarin build documentation page you should already be pathed to the adb executable in the public sdk/ndk, but if not it exists at /android-public/android-sdk-mac_86/platform-tools.
...the shell can be named variously in the build but on the phone the executable must be 'avmshell' $ adb push avmshell /data/app/avmshell $ adb shell chmod 777 /data/app/avmshell copy android_runner.sh, if it doesn't already exist on the phone in /data/app $ adb push tamarin-redux/platform/android/android_runner.sh /data/app/android_runner.s $ adb shell chmod 777 /data/app/android_runner.sh test it out with a simple .abc or no args for usage (should return exitcode=0) $ tamarin-redux/platform/android/android_shell.h hello.abc hello exitcode=0 running performance tests to run performance tests on android you don't need to pass --androidthreads or --threads=1 as with the acceptance t...
Tamarin Build System Documentation - Archive of obsolete content
the smoke phase runs a set of tests on each platform until 2 minute is exceeded.
... the buildbot scripts are located in the tamarin repository, get a current copy in your test repository cd into the build/buildbot/slaves directory: cd build/buildbot/slaves copy the your platform scripts directory into the scripts directory and cd into the new scripts directory: cp -r mac-intel-10_5/scripts .
... to provide quick and accurate results of building and testing tamarin on supported platforms and configurations to represent the build results in a clear and concise manor please give use feedback if you have any comments or suggestions to improve the build system how to add tests to the smokes?
When To Use ifdefs - Archive of obsolete content
there are three major kinds of ifdefs in use in the mozilla tree: platform/widget ifdefs, feature ifdefs, and application-specific ifdefs: platform/widget ifdefs the mozilla code will frequently need to differentiate between code for different platforms or widget sets.
...the only time when they might be a problem is in cross-platform extension code and locales: since this code is downloaded on multiple platforms, platform-specific ifdefs are generally out of the question.
... for an example of platform-specfic ifdefs, see nscrt.h.
Properties - Archive of obsolete content
properties archive full local path of the archive after it is downloaded to the platform specific temp folder.
... jarfile alias for archive platform contains information about the platform xpinstall was compiled for/runs on.
...for more details, see the corresponding code living in the getinstallplatform method of class nsinstall.
Learn XPI Installer Scripting by Example - Archive of obsolete content
in this article, we use the unix install file, but the installers for all the platforms are quite similar, and you can easily take what you learn here and apply it to installations on any platform that mozilla supports.
...mozilla cross-platform installations use the xpi format as a way to organize, compress, and automate software installations and software updates.
... registering the software registering software is sometimes a requirement of both the operating system and of the netscape 6 platform.
Accessing Files - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
... there are a number of other values that may be used, most of which are platform specific.
...on other platforms, using this value will just result in an error.
ContextMenus - Archive of obsolete content
for example, the following will attach a context menu with the id 'contentareacontextmenu' to a browser element: <browser context="contentareacontextmenu"> indicating the default item on some platforms, one of the items in a context menu is marked as being a default operation.
...on platforms that support it, it will be marked as a default item.
... on other platforms, the attribute will just be ignored and the menuitem will be displayed normally.
Menus - Archive of obsolete content
or, you could write code that handles multiple platforms in different ways.
...the key is different for each platform; on windows f10 can be used.
...on some platforms, adding an access key will underline a letter in the menu label indicating the key to press.
Open and Save Dialogs - Archive of obsolete content
the appearance of the dialog will be different for each type and will vary on each platform.
...the manner in which this is done is platform specific.
... on some platforms, each filter will be separate and the user can choose between html files and image files.
Using Spacers - Archive of obsolete content
in addition, different platforms may have special requirements on the user interface.
...applications that need to support multiple platforms and languages usually have their windows laid out with lots of space to allow for this.
... some platforms and user interface toolkits provide components that are smart enough to resize and re-position themselves to fit the needs of the user.
XPCOM Interfaces - Archive of obsolete content
« previousnext » in this section, we'll take a brief look at xpcom (cross-platform component object model), which is the object system that mozilla uses.
...mozilla provides such a method which involves using xpcom (cross-platform component object model).
...of course, we'll have different implementations anyway, one for each platform.
XUL accessibility guidelines - Archive of obsolete content
learn more accessibility platform features mozilla community software accessibility - where are we today?
...an excellent guide for determining unused key combinations and cross platform issues.
...the oncontextmenu event and context attribute work with the correct platform-specific context menu triggers, including the keyboard button and appropriate mouse clicks.
The Implementation of the Application Object Model - Archive of obsolete content
we're still cross-platform, since we'd only have to write widgets like trees and toolbars once!
...the native widgets would also be an issue for something like a gfx-toolbar, which would need to contain the native widgets and still look consistent on all platforms.
...xp development takes much less time than native platform development.
XML - Archive of obsolete content
in this way, it's more like a developmentplatform or framework than a user interface language, particularly when it's used with related cross-platform technologies like xpcom, which also went into mozilla.
... gecko was designed to be lightweight, standards-compliant and cross-platform, so rather than defining on its own how these widgets should be rendered, gecko depends for all but the most basic behavioral and presentational aspects of the widgets upon cascading stylesheets.
...this arrangement creates new possibilities for truly cross-platform web applications, application serving, web appliances and embedded systems, and all sort of other things.
button - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
...some platforms display these buttons with a small icon indicating their usage.
...see the appearance of the different icons on some available platforms.
dialog - Archive of obsolete content
these buttons will be placed in the correct locations for the user's platform.
...the buttons will be placed in suitable locations for the user's platform and basic event handling will be performed automatically.
...the buttons will be placed in suitable locations for the user's platform and basic event handling will be performed automatically.
panel - Archive of obsolete content
ArchiveMozillaXULpanel
some features may work, but only on some platforms.
...if it is not set, it defaults to the platform behavior.
...if this attribute is not set, the popup window level depends on the platform.
XULRunner Hall of Fame - Archive of obsolete content
latest release: june 2010 - build instructions utilities / prototypes ajax toolkit framework (atf) a part of the eclipse web tools platform (wtp) aliwal geocoder geocode addresses onto a map benjamin's xulrunner examples "mybrowser is a very simple example browser", xulmine.
... opendocument viewer cross-platform viewer for opendocument files.
... xuljet a framework that helps to create platform independent desktop applications directly in javascript ...
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.builds - october 14th to october 20th 2006 linux reference platform 1.8.1 october 18th: marcus is wondering about the linux platform that is currently used to compile both public releases of firefox and xulrunner.
... he also points out that when he performs a local build any of those platforms (gentoo, suse and fedora) he doesn't encounter any problems on the same machine.
... he also points out that there is a wiki page where the standard reference platform for linux has been defined (for trunk builds).
NPAPI plugin developer guide - Archive of obsolete content
if there are plugin features which are not available in the web platform, we encourage developers to post their use cases to mozilla.dev.platform project list, so that mozilla can prioritize web platform work to make those use cases possible.
... plug-in basics how plug-ins are used plug-ins and helper applications how plug-ins work understanding the runtime model plug-in detection how gecko finds plug-ins checking plug-ins by mime type overview of plug-in structure understanding the plug-in api plug-ins and platform independence windowed and windowless plug-ins the default plug-in using html to display plug-ins plug-in display modes using the object element for plug-in display nesting rules for html elements using the appropriate attributes using the embed element for plug-in display using custom embed attributes plug-in references plug-in development overview writing ...
...plug-ins registering plug-ins ms windows unix mac os x drawing a plug-in instance handling memory sending and receiving streams working with urls getting version and ui information displaying messages on the status line making plug-ins scriptable building plug-ins building, platforms, and compilers building carbonized plug-ins for mac os x type libraries installing plug-ins native installers xpi plug-ins installations plug-in installation and the windows registry initialization and destruction initialization instance creation instance destruction shutdown initialize and shutdown example drawing and event handling the npwindow structure drawing plug-ins printing the plug-in setting the window getting information ...
NPEmbedPrint - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary substructure of npprint that contains platform-specific information used during embedded mode printing.
... syntax typedef struct _npembedprint { npwindow window; void* platformprint; /* platform-specific */ } npembedprint; fields the data structure has the following fields: window the npwindow the plug-in should use for printing.
... platformprint additional platform-specific printing information.
NPFullPrint - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary substructure of npprint that contains platform-specific information used during full-page mode printing.
... syntax typedef struct _npfullprint { npbool pluginprinted; /* true: print fullscreen */ npbool printone; /* true: print one copy */ /* to default printer */ void* platformprint; /* platform-specific */ } npfullprint; fields the data structure has the following fields: pluginprinted determines whether the plug-in prints in full-page mode.
... platformprint platform-specific printing information.
NPP_Print - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary requests a platform-specific print operation for an embedded or full-screen plug-in.
... for information about printing on your platform, see your platform documentation.
... ms windows on ms windows printinfo->print.embedprint.platformprint is the device context (dc) handle.
NPPrintCallbackStruct - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary contains information required by the platformprint field of the npembedprint structure during embedded mode printing on unix systems.
... description callback structures are used to pass platform-specific information.
...this information is required by the platformprint field of the npembedprint structure during embedded mode printing.
Shipping a plugin as a Toolkit bundle - Archive of obsolete content
platform-specific files gecko 1.9.2 (firefox 3.6) and earlier prior to gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1), it was possible to package multiple plugin libraries for different operating systems into a single xpi bundle.
... in the xpi you can use the following structure: platform/ linux_x86-gcc3/ plugins/ libplugin.so darwin_ppc-gcc3/ plugins/ libplugin.dylib more specific information can be found in the platform-specific subdirectories documentation.
... gecko 2.0 (firefox 4) and later gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) removed support for platform-specific subdirectories.
NSPR Release Engineering Guide - Archive of obsolete content
this paper is for engineers performing formal release for the netscape portable runtime (nspr) across all platforms.
... 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 explode.pl run the test suite on all targets, using binaries & headers from shipped bits resolve testing anomalies tag the ...
...tree with nsprpub_release_x_y[_z] release candidate checkout a whole new tree using tag (including fixes) tag the treey with nsprpub_release_x_y_z build all targets, debug and optimized on all 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 in /share/builds/components/nspr20/ run the following scripts: explode.pl rename.sh symlink.sh rtm bits rename the .vx.y.z directory to vx.y.z (remove the hidden directory 'dot').
Choosing Standards Compliance Over Proprietary Practices - Archive of obsolete content
xerox was bound to a unique hardware platform and to a closed development operating system.
... and xerox chose to bypass multiple opportunities to port the code to other platforms, and to provide open-source code.
... for example, if a development engineer writes an application following the ansi standard of c and c++, and writes that code on a particular platform, that code can be compiled on any other platform and operating system that supports ansi standards.
XUL Parser in Python - Archive of obsolete content
it also, i'm afraid, only works on the win32 platform, where the <tt>dir</tt> command it depends on gets you your xul files.
...but mozilla's upcoming support for languages like perl and python will really open up the mozilla platform to tools and approaches of this kind--and make now a good time to start thinking about how these various technologies will be put together.
...most of all, please feel free to experiment with the mozilla development platform in this way or in any other way you can imagine.
Introduction to game development for the Web - Game development
the modern web has quickly become a viable platform not only for creating stunning, high quality games, but also for distributing those games.
... the html5 game platform you can truly think of the web as a better target platform for your game.
... as we like to say, "the web is the platform." let's take a look at the core of the web platform: function technology audio web audio api graphics webgl (opengl es 2.0) input touch events, gamepad api, device sensors, webrtc, full screen api, pointer lock api language javascript (or c/c++ using emscripten to compile to javascript) networking webrtc and/or websockets storage indexeddb or the "cloud" web html, css, svg (and much more!) the business case as a game developer, whether you're an individual or a large game studio, you want to know why it makes sense to target the web with your next game project.
Implementing game control mechanisms - Game development
one of html5's main advantages as a game development platform is the ability to run on various platforms and devices.
... in the following articles we will show how to implement various different control mechanisms for captain rogers to support different platforms — from touch on mobile, through keyboard/mouse/gamepad on desktop, to more unconventional ones like tv remote, shouting to or waving your hand in front of the laptop, or squeezing bananas.
... the articles javascript is the perfect choice for mobile gaming because of html5 being truly multiplatform; all of the following articles focus on the apis provided for interfacing with different control mechanisms: mobile touch controls — the first article will kick off with touch, as the mobile first approach is very popular.
Vue resources - Learn web development
vue mastery — a paid education platform that specializes in vue, including some free lessons.
... vue school — another paid education platform specializing in vue.
... note: the vue cli docs also include a specific guide on how to publish your app to many of the common hosting platforms.
Handling common HTML and CSS problems - Learn web development
these are very useful, particularly on mobile platforms, where providing a pain-free way of entering data is very important for the user experience.
... supporting platforms provide special ui widgets when these input types are used, such as a calendar widget for entering dates.
...on a non-supporting platform such as firefox or internet explorer, the inputs will just fallback to normal text inputs, so at least the user can still enter some information.
Gecko info for Windows accessibility vendors
k-meleon: a light, ultra-fast and more advanced (fully configurable) gecko-based web browser available on the windows platform xul-based clients (support msaa) xul-based clients make full use of the gecko architecture, not only for html content, as well as for menus, dialogs and the entire user interface via an xml language called xul (extensible user-interface language).
...this is done to ensure a common look and feel across all supported platforms, and to allow for different skins (appearances).
...ceuriforid( // translate namespace id's from isimpledomnode /* [in] */ unsigned short namespaceid, // calls into the actual namespace uri's /* [out] */ bstr *namespaceuri); hresult put_alternateviewmediatypes(/* [in] */ bstr * commaseparatedmediatypes); // for example "aural, braille" keyboard user interface and api fortunately, gecko uses the standard keyboard api's for each supported platform.
Accessible Toolkit Checklist
the work when implementing a new toolkit it's important to: implement standard keyboard behavior, which can vary from platform to platform.
...implement true usability for everyone, and make your toolkit follow the guidelines for each platform.
...these toolkits wrap the widgets implemented by the os with a consistent api for each platform.
A bird's-eye view of the Mozilla framework
the mozilla xptoolkit module provides a similar set of facilities for building cross-platform ui controls implemented as xml user interface language (xul) packages.
... core services modules such as the nglayout engine comprise the core application services available to other core modules, and xul packages core application modules are implemented as a set of one or more xpcom (cross-platform com) objects.
...the client simply queries the provider for a particular service, and if available, accesses that service through an interface defined in xpidl (cross-platform idl), derived from the corba idl.
Command line options
firefox -no-remote -p "another profile" note: since firefox 9, this does really mean what its name implies on all platforms, i.e.
...other platforms accept both upper and lower case.
... firefox -remote "openurl(www.mozilla.org, new-tab)" this option is only available on x-windows unix platforms.
Creating a Language Pack
$ make wget-en-us en_us_binary_url=http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora if you're building on mac 64 bit, you'll need to change the command slightly: $ make wget-en-us en_us_binary_url=http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora moz_pkg_platform=mac at some point, you should see the following success message: downloaded http://ftp.mozilla.org/pub/mozilla.o....en-us.mac.dmg to /users/your_id/mozilla/vc/firefox/browser/locales/../../dist/firefox-3.6b5pre.en-us.mac.dmg the en-us binary has been downloaded.
... let's unpack it $ make unpack again, for 64-bit mac, append moz_pkg_platform=mac to this command.
...it's now time to repackage the en-us binary with $ make installers-x-testing locale_mergedir=$(pwd)/mergedir again, for 64-bit mac, append moz_pkg_platform=mac to this command.
How Mozilla's build system works
for example, there is a tier for the netscape portable runtime (nspr), one for the javascript engine, one for the core gecko platform, one for the xul app being built, and so on.
...typically, the traversal order looks something like base, nspr, nss, js, platform, app.
...note the use of lib_prefix and lib_suffix to make this work on all platforms.
Interface Compatibility
the mozilla platform is constantly evolving.
...javascript/xul interfaces traditional extensions written using xul overlays and xpcom have access to the full power of the mozilla platform.
... with the power, however, comes the understanding that the mozilla platform is constantly changing and many apis may change in future versions of firefox.
Error codes returned by Mozilla APIs
ns_error_file_unrecognized_path (0x80520001) this error occurs when an attempt is made to set a path that isn't valid for the platform.
... ns_error_file_invalid_path (0x80520009) this error occurs when an attempt is made to use a path that isn't valid for the platform.
... ns_error_file_no_device_space (0x80520010) ns_error_file_name_too_long (0x80520011) indicates that a file name or path is larger than the platform can handle.
Gecko SDK
furthermore, since a component contains basic functionality, it is intended to run with every product of the mozilla platform.
...the gecko sdk is a collection of header files and tools used to develop general xpcom components which add functionality to the existing platform, whereas xulrunner is a framework which can be used to run standalone or embedded applications based on the mozilla framework.
... mac x86_64 download n/a n/a n/a n/a mac i386 download download download download n/a mac ppc n/a download download download download linux x86_64 download n/a n/a n/a n/a linux i686 download download download download download the sdk is not officially released for other platforms; if you need it, you will probably need to build it yourself.
Hacking with Bonsai
the original navigator code base had large sections that were shared across multiple platforms.
... many times, code checked in would compile or run on a handful of platforms.
...the build team will then pull the 8:00 am tree, and build it on a subset of the platforms, linux, win32 & macppc.
OS.File.Error
} catch (ex) { if (ex instanceof os.file.error && ex.becausenosuchfile) { // the file does not exist } } global object os.file.error methods overview the following functions are utility functions that may be used to construct instances of os.file.error, setting the platform-specific error number.
...cross-platform attributes operation the human-readable name of the failed operation.
... platform-specific attributes unixerrno (defined under unix only) the system error number (errno) for the error.
OSFile.jsm
this is critical because some platforms have extremely slow storage (e.g.
... smartphones, tablets) and because, regardless of the platforms, doing too much i/o penalizes not just your application but potentially all the applications running on the system, which is quite bad for the user experience.
... consequently, one of the key design choices of os.file is to provide operations that are low-level enough that they do not hide any i/o from the developer (which could cause the developer to perform more i/o than they think) and, since not all platforms have the same features, offer system-specific information that the developer can use to optimize his algorithms for a platform.
Mozilla Development Tools
the tools needed to build mozilla are described on the build page for your platform.
...it is our home-grown web-based tool for watching the progress of the continuous builds that we run on multiple platforms.
... it is how we are able to tell when a checkin has broken the build on some platform, and how we know which person needs to be viciously flogged.
Leak-hunting strategies and tips
tool finds platforms requires leak tools for large object graphs leak gauge windows, documents, and docshells only all platforms any build gc and cc logs js objects, dom objects, many other kinds of objects all platforms any build leak tools for medium-size object graphs bloatview, refcount tracing and balancing objects that implement nsisupports o...
...r use moz_count_{ctor,dtor} all tier 1 platforms debug build (or build opt with --enable-logrefcnt) leaksoup (part of tracemalloc) all objects?
... (or allocations?) all tier 1 platforms build with --enable-trace-malloc leak tools for simple objects and summary statistics tracemalloc all allocations all tier 1 platforms build with --enable-trace-malloc valgrind all allocations mac, linux build with --enable-valgrind and some other options lsan all allocations mac, linux any build apple tools ?
Profiling with the Firefox Profiler
it has tighter integration with firefox than external profilers, and has more of a platform focus than the devtools performance panel.
... symbols for try builds are not uploaded to the symbol server automatically, you need to trigger a "sym" job on treeherder: using treeherder's add new jobs ui, schedule a "sym" job for each platform whose "b" job you want symbols for.
...here are the main ones: native stacks - "stackwalk" when taking a sample the profiler will attempt to unwind the stack using platform specific code appropriate for the abi.
Refcount tracing and balancing
refcount tracing logs calls to addref and release, preferably for a particular set of classes, including call-stacks in symbolic form (on platforms that support this).
...this requires c++ dynamic casts, so it is not supported on all platforms.
... xpcom_mem_alloc_log for platforms that don't have stack-crawl support, xpcom supports logging at the call site to addref/release using the usual cpp __file__ and __line__ number macro expansion hackery.
about:memory
it only really matters on 32-bit platforms such as win32.
... there is also "vsize-max-contiguous" (not measured on all platforms, and not shown in this example), which indicates the largest single chunk of available virtual address space.
...the measurements taken vary between platforms.
Preferences system
using this system it is possible to create preferences windows that display and operate appropriately on various platforms (windows, macos x and gnome).
...you should be careful to read the higs for the platforms you are targeting and use the xul preprocessor if necessary to set different window titles as appropriate.
... you should also be careful to specify the width of the window (in em) as appropriate using the preprocessor for each targeted platform, as well as the height (in em) for platforms where the window size does not change as the selected panel is changed (e.g.
Nonblocking IO In NSPR
fundamentally, this constraint is due to the fact that nonblocking i/o and <tt>select()</tt> are only available to sockets on some platforms (e.g., winsock).
...because these constraints only apply to nt, it is advised that you test your cross-platform code that uses nonblocking io on nt early in the development cycle.
... current status implemented across all supported platforms.
Anonymous Shared Memory
depending on the underlying platform, the file-mapped shared memory may be backed by a file.
...on some platforms, no real file backs the shared memory.
... on platforms where the shared memory is backed by a file, the file's name in the filesystem is visible to other processes for only the duration of the creation of the file, hopefully a very short time.
NSPR Types
calling convention types these types are used to support cross-platform declarations of prototypes and implementations: pr_extern is used for declarations of external functions or variables.
... in dowhim.c: pr_implement( void ) dowhatimean( void ) { return; }; prthread *thread = pr_createthread(..., rootfunction, ...); algebraic types nspr provides the following type definitions with unambiguous bit widths for algebraic operations: 8-, 16-, and 32-bit integer types 64-bit integer types floating-point number type for convenience, nspr also provides type definitions with platform-dependent bit widths: native os integer types 8-, 16-, and 32-bit integer types signed integers print8 print16 print32 unsigned integers pruint8 pruint16 pruint32 64-bit integer types different platforms treat 64-bit numeric fields in different ways.
...conscientious use of these macros ensures portability of code to all the platforms supported by nspr and still provides optimal behavior on those systems that treat long long values directly.
PRInt32
guaranteed to be a signed 32-bit integer on all platforms.
... syntax #include <prtypes.h> typedefdefinition print32; description may be defined as an int or a long, depending on the platform.
... for syntax details for each platform, see prtypes.h.
PRInt64
guaranteed to be a signed 64-bit integer on all platforms.
... syntax #include <prtypes.h> typedef definition print64; description may be defined in several different ways, depending on the platform.
... for syntax details for each platform, see prtypes.h.
PRUint32
guaranteed to be an unsigned 32-bit integer on all platforms.
... syntax #include <prtypes.h> typedefdefinition pruint32; description may be defined as an unsigned int or an unsigned long, depending on the platform.
... for syntax details for each platform, see prtypes.h.
PRUint64
guaranteed to be an unsigned 64-bit integer on all platforms.
... syntax #include <prtypes.h> typedef definition pruint64; description may be defined in several different ways, depending on the platform.
... for syntax details for each platform, see prtypes.h.
PR_GetRandomNoise
a return value of zero means that pr_getrandomnoise is not implemented on this platform, or there is no available noise to be returned at the time of the call.
... description pr_getrandomnoise provides a random value, depending on platform.
... the length of the random value is dependent on the platform and its ability to provide a random value at that moment.
PR_TicksPerSecond
syntax #include <prinrval.h> pruint32 pr_tickspersecond(void); returns an integer between 1000 and 100000 indicating the number of ticks per second counted by printervaltime on the current platform.
... this value is platform-dependent and does not change after nspr is initialized.
... the relationship between a printervaltime tick and standard clock units is platform-dependent.
NSPR
netscape portable runtime (nspr) provides a platform-neutral api for system level and libc-like functions.
... legacy nspr content older nspr content is available in svn for browsing and/or migration to this site getting nspr nspr is available in various source and binary packages, depending on your platform: windows: build the source package, using the nspr build instructions.
... opensuse linux: install one or more of the following via yast or zypper : mozilla-nspr : binary libraries for your platform mozilla-nspr-32bit : binary libraries needed to run 32-bit programs on a 64-bit os mozilla-nspr-devel : files needed (in addition to the above libraries) to compile programs using nspr mozilla-nspr-debuginfo : debug information (including build symbols) for package mozilla-nspr mozilla-nspr-debuginfo-32bit : debug information (including build symbols) for package mozilla-nspr-32bit mozilla-nspr-debugsource : debug sources for all of the above community view mozilla ...
NSS 3.37 release notes
starting with nss version 3.31, an alternative implementation for rng seeding on the linux/unix platform was available (bug 1346735), which performed seeding exclusively based on /dev/urandom.
... (the classic implementation for rng seeding on the linux/unix platform, which may use additional sources for the default seeding, is still available and will be used if seed_only_dev_urandom is undefined.) with nss 3.37, this alternative implementation for linux/unix can be selected in "make" builds by defining the environment variable nss_seed_only_dev_urandom.
... with nss 3.37, this alternative implementation for linux has been enhanced to use the glibc function getentropy(), instead of reading from /dev/urandom directly, if the build and runtime linux platform supports it.
NSS 3.50 release notes
notable changes in nss 3.50 verified primitives from hacl* were updated, bringing performance improvements for several platforms.
... note that intel processors with sse4 but without avx are currently unable to use the improved chacha20/poly1305 due to a build issue; such platforms will fall-back to less optimized algorithms.
...rch64 cpu features on freebsd bug 1607099 - remove the buildbot configuration bug 1585429 - add more hkdf test vectors bug 1573911 - add more rsa test vectors bug 1605314 - compare all 8 bytes of an mp_digit when clamping in windows assembly/mp_comba bug 1604596 - update wycheproof vectors and add support for cbc, p256-ecdh, and cmac tests bug 1608493 - use aes-ni for non-gcm aes ciphers on platforms with no assembly-optimized implementation, such as macos.
Overview of NSS
nss includes a framework to which developers and oems can contribute patches, such as assembler code, to optimize performance on their platforms.
... nss 3.x has been certified on 18 platforms.
... nss makes use of netscape portable runtime (nspr), a platform-neutral open-source api for system functions designed to facilitate cross-platform development.
NSS environment variables
necessary on some platforms to get correct function names when using leak reporting software.
... values understood: win95 before 3.0 use_64 boolean (1 to enable) on platforms that has separate 32-bit and 64-bit abis, nss builds for the 32-bit abi by default.
... before 3.0 use_pthreads boolean (1 to enable) on platforms where posix threads are available, but are not the os'es preferred threads library, this tells nss and nspr to build using pthreads.
Multithreading in Necko
dns thread (0-1) on most platforms dns requests a processed on a background thread.
... however, the details of the implementation are heavily platform dependent.
...in this way, necko takes advantage of the platforms specific routines for dns lookups.
SpiderMonkey Build Documentation
see the build prerequisites page for your platform.
... to generate a compile_commands.json with the spidermonkey configure script, enable the compiledb backend, like this: /bin/sh ../configure.in <options> --enable-build-backends=compiledb,recursivemake (recursivemake is there as you'd likely also want to be able to build!) windows builds since version 28, threadsafe builds are the default, and should work out of the box on all posix platforms.
... note: in spidermonkey 1.8.5, the js-config script is not generated properly on many platforms.
FOSS
wrappers / bindings c++ cocos2d-js - cocos2d-js is a cross-platform game engine which embeds spidermonkey, providing the same api for both web and native platforms.
... http://code.google.com/p/gpsee/ - commonjs platform, native-language module interoperability methods, modules, etc.
... http://javalikescript.free.fr/ - a general-purpose javascript platform that aims to provide an extensible tooling framework http://www.synchro.net/ - a telnet/ssh bulletin board system (bbs) and internet server (http/smtp/ftp) with extra internet services written in javascript (irc, imap, gopher, and many more) https://github.com/mindbit/libjssql/wiki - a library that aims to provide a generic sql api for javascript that is as similar as possible to jdbc miscellaneous serverjs, a standardization effort for the...
SpiderMonkey 1.8.5
—22 march 2011 platform support spidermonkey 1.8.5 is supported on all the platforms where firefox 4 runs.
...on other platforms, the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
...to select an alternate c++ compiler, invoke configure thus: cxx=/usr/bin/g++-4.0 /path/configure --my-configuration-options js-config the new configure-based build system does not correctly generate the js-config script on many platforms, nor when js-ctypes are enabled.
SpiderMonkey 1.8.7
—22 march 2011 platform support spidermonkey 1.8.7 is supported on all the platforms where firefox 10 runs.
...on other platforms, the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
...to select an alternate c++ compiler, invoke configure thus: cxx=/usr/bin/g++-4.0 /path/configure --my-configuration-options js-config the new configure-based build system does not correctly generate the js-config script on many platforms, nor when js-ctypes are enabled.
SpiderMonkey 1.8.8
—insert-actual-release-date-here platform support spidermonkey 1.8.8 is supported on all the platforms where firefox insert-actual-firefox-version-number-here runs.
...on some other platforms (sparc, mips), the jit is provided but not supported.
... on all other platforms the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
SpiderMonkey 17
— 25 march 2013 platform support spidermonkey 17 is supported on all the platforms where firefox 17 runs.
...on some other platforms (sparc, mips), the jit is provided but not supported.
... on all other platforms the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
SpiderMonkey 24
get it here mozilla-esr24 if the download url is outdate you will find it in "firefox extended support release 24" package on hg release platform support spidermonkey 24 is supported on all the platforms where firefox 24 runs.
...on some other platforms (sparc, mips), the jit is provided but not supported.
... on all other platforms the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
SpiderMonkey 38
get it here mozilla-esr38 you will find it in "firefox extended support release 38" package on hg release platform support spidermonkey 38 is supported on all the platforms where firefox 38 runs.
...on some other platforms (sparc, mips), the jit is provided but not supported.
... on all other platforms the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
SpiderMonkey 45
— apr 14, 2016 platform support spidermonkey 45 is supported on all platforms able to run firefox 45.
...on several other platforms (sparc, mips), the jit is provided but not supported.
... on remaining platforms the jit is disabled; javascript code runs in an interpreter, as it has in previous versions.
XPCOM changes in Gecko 2.0
platform-specific directories the component/chrome system used to look in platform-specific subdirectories of an extension, such as platform/winnt_x86-msvc/chrome.manifest on windows.
...you can use the os and abi chrome registration directives to achieve the same effect: binary-component components/windows/mycomponent.dll abi=winnt_x86-msvc binary-component components/mac/mycomponent.dylib abi=darwin_x86-gcc3 binary-component components/mac/mycomponent64.dylib abi=darwin_x86_64-gcc3 binary-component components/linux/mycomponent.so abi=linux_x86-gcc3 this also means that platform-specific preferences are no longer possible.
... if you need to adjust default preferences based on platform, you can do so at first run by looking up what platform you're on and changing the preferences at that time.
Setting up the Gecko SDK
the sdk is available for windows, linux, and mac operating systems, and versions for other operating systems are being developed, and can be retrieved from as a single archive from the following platform-specific locations (need correction for last version (now 1.9.2.8).
... tools needed gecko 1.9.2 sdk: http://releases.mozilla.org/pub/mozi....win32.sdk.zip windows platform sdk: http://www.microsoft.com/downloads/e...displaylang=en moztools: http://ftp.mozilla.org/pub/mozilla.o...8-moztools.zip the windows platform sdk has the c++ compiler/linker needed, moztools has several tools and libraries needed for this example.
... set include=c:\program files\microsoft sdks\windows\v7.0\include;c:\program files (x86)\microsoft visual studio 9.0\vc\include;d:\projects\xulrunner-sdk\include this sets up the compiler to know where included code files are, it looks in the platform sdk, visual studio 9.0 include (installed with the platform sdk), and the gecko sdk includes.
XPCOM guide
MozillaTechXPCOMGuide
s to help them do so, first by explaining the underlying concepts, and second by describing a number of common javascript patterns that cause leaks.creating xpcom componentsthis guide is about gecko, and about creating xpcom components for gecko-based applications.how to build an xpcom component in javascriptif you are looking for add-on sdk solution for xpcom javascript components then check out platform/xpcom module first.inheriting from implementation classesgiven that idl interfaces map to abstract classes in c++, a common problem when dealing with idl is when you have an idl inheritance hierarchy, and a corresponding c++ implementation hierarchy, you run into multiple inheritance.
...the problem would not exist with java's interfaces).making cross-thread calls using runnablesin the mozilla platform, most activities such as layout, dom operations, content javascript, and chrome javascript run on the main thread.
... however, it may be useful for c++ code in the mozilla platform to run tasks on another thread.mozilla internal string guidemost of the mozilla code uses a c++ class hierarchy to pass string data, rather than using raw pointers.
nsIDOMWindowUtils
when this is set, the aoffset and alength are offset and length in/of the content generated with xp line breaks (i.e., "\n" on all platforms).
...when this is set, the aoffset and alength are offset and length in/of the content generated with xp line breaks (i.e., "\n" on all platforms).
...the displayport can approximately be thought of as a "persistent" drawwindow() (albeit with coordinates relative to the css viewport): the bounds are remembered by the platform, and layer pixels are retained and updated inside the viewport bounds.
getFile
the individual platform implementation of nsidirectoryserviceprovider maps the symbolic path location passed to this function and returns the appropriate nsifile.
...available on all platforms these symbolic names are available on all platforms (although, of course, they may refer to different physical paths on the storage device).
... ns_gre_component_dir "grecomsd" platform-specific locations some symbolic names represent platform-specific locations.
nsIScriptableIO
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
...this properly allows platform-independent path construction.
...note: you should avoid using this method, since file paths are platform-dependent and non-portable.
Preferences System
using this system it is possible to create preferences windows that display and operate appropriately on various platforms (windows, macos x and gnome).
...you should be careful to read the higs for the platforms you are targeting and use the xul preprocessor if necessary to set different window titles as appropriate.
... you should also be careful to specify the width of the window (in em) as appropriate using the preprocessor for each targeted platform, as well as the height (in em) for platforms where the window size does not change as the selected panel is changed (e.g.
characteristic - Web APIs
full support 57notes disabled notes linux and versions of windows earlier than 10.disabled from version 57: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 44notes disabled notes linux and versions of windows earlier than 10.disabled from version 44: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
readValue() - Web APIs
full support 57notes disabled notes linux and versions of windows earlier than 10.disabled from version 57: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 44notes disabled notes linux and versions of windows earlier than 10.disabled from version 44: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
uuid - Web APIs
full support 57notes disabled notes linux and versions of windows earlier than 10.disabled from version 57: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 44notes disabled notes linux and versions of windows earlier than 10.disabled from version 44: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
value - Web APIs
full support 57notes disabled notes linux and versions of windows earlier than 10.disabled from version 57: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 44notes disabled notes linux and versions of windows earlier than 10.disabled from version 44: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
writeValue() - Web APIs
full support 57notes disabled notes linux and versions of windows earlier than 10.disabled from version 57: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support ≤79notes disabled notes linux and versions of windows earlier than 10.disabled from version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... full support 44notes disabled notes linux and versions of windows earlier than 10.disabled from version 44: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
KeyboardEvent.getModifierState() - Web APIs
numlock" during led for num lock turned on a key on numpad pressed not supported while numlock is locked "os" ⊞ windows logo key pressed super key or hyper key pressed (typically, mapped to ⊞ windows logo key) not supported "scrolllock" during led for scroll lock turned on during led for scroll lock turned on, but typically this isn't supported by platform not supported while scrolllock is locked "shift" ⇧ shift key pressed "super" not supported "symbol" not supported "symbollock" not supported on the other platforms, "alt", "control" and "shift" may be supported.
...this doesn't depend on the platform.
...note that which modifier key makes it return true depends on platforms, browsers, and user settings.
KeyboardEvent - Web APIs
on those platforms, then, an auto-repeat key will generate the following sequence of events: keydown keypress keyup keydown keypress keyup <<repeating until the user releases the key>> keyup in these environments, unfortunately, there's no way for web content to tell the difference between auto-repeating keys and keys that are just being pressed repeatedly.
... auto-repeat handling prior to gecko 5.0 before gecko 5.0 (firefox 5.0 / thunderbird 5.0 / seamonkey 2.2), keyboard handling was less consistent across platforms.
... linux the event behavior depends on the specific platform.
Media Session API - Web APIs
media session concepts and usage the mediametadata interface lets a web site provide rich metadata to the platform ui for media that is playing.
...the platform can show this metadata in media centers, notifications, device lockscreens, etc.
...for example, to set the current state of the media session to playing: navigator.mediasession.playbackstate = "playing"; interfaces mediametadata allows a web page to provide rich media metadata, for display in a platform ui.
Screen Wake Lock API - Web APIs
it allows for a simple platform based solution which up until now could only be achieved via workarounds which were potentially power hungry.
... you acquire a wakelocksentinel object by calling the navigator.wakelock.request() promise based method that resolves if the platform allows it.
... wakelocksentinel provides a handle to the underlying platform wake lock and if referenced can be manually released and reacquired.
WakeLockSentinel - Web APIs
the wakelocksentinel interface of the screen wake lock api provides a handle to the underlying platform wake lock and can be manually released and reacquired.
... an acquired wakelocksentinel can be released manually via the release() method, or automatically via the platform wake lock.
...releasing all wakelocksentinel instances of a given wake lock type will cause the underlying platform wake lock to be released.
Inputs and input sources - Web APIs
the ray extends outward in a direction defined by whatever platform and controller are being used, if that's defined; otherwise, the ray extends in the same direction the user is pointing in with their index finger, if it were currently outstretched.
...a primary action (which will sometimes be shortened to simply "select action") is a platform-specific action which responds to the user manipulating it by delivering, in order, the events selectstart, select, and selectend.
... primary squeeze action a primary squeeze action is a platform-specific action which sends the xrsession squeezestart, squeezeend, and squeeze events.
scrollbar-color - CSS: Cascading Style Sheets
auto default platform rendering for the track portion of the scrollbar, in the absence of any other related scrollbar color properties.
... dark show a dark scrollbar, which can be either a dark variant of scrollbar provided by the platform, or a custom scrollbar with dark colors.
... light show a light scrollbar, which can be either a light variant of scrollbar provided by the platform, or a custom scrollbar with light colors.
<dl>: The Description List element - HTML: Hypertext Markup Language
WebHTMLElementdl
examples single term and description <dl> <dt>firefox</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
... </dd> <!-- other terms and descriptions --> </dl> multiple terms, single description <dl> <dt>firefox</dt> <dt>mozilla firefox</dt> <dt>fx</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
... </dd> <!-- other terms and descriptions --> </dl> single term, multiple descriptions <dl> <dt>firefox</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
JavaScript modules - JavaScript
n for more details.disabled from version 12.0.0: this feature is behind the --experimental-modules runtime flag.available in workerschrome full support 80 full support 80 full support 67disabled disabled from version 67: this feature is behind the experimental web platform features preference.
... to change preferences in chrome, visit chrome://flags.edge full support 80 full support 80 full support 79disabled disabled from version 79: this feature is behind the experimental web platform features preference.firefox no support noie no support noopera no support nosafari no support nowebview android full support 80chrome android full support 80 full support ...
... 80 full support 67disabled disabled from version 67: this feature is behind the experimental web platform features preference.
related_applications - Web app manifests
type array mandatory no the related_applications field is an array of objects specifying native applications that are installable by, or accessible to, the underlying platform — for example, a native android application obtainable through the google play store.
... examples "related_applications": [ { "platform": "play", "url": "https://play.google.com/store/apps/details?id=com.example.app1", "id": "com.example.app1" }, { "platform": "itunes", "url": "https://itunes.apple.com/app/example-app1/id123456789" } ] related application values application objects may contain the following values: member description platform the platform on which the application can be found.
... id the id used to represent the application on the specified platform.
The building blocks of responsive design - Progressive web apps (PWAs)
one approach to this is to create different versions of your site/app for different platforms or browsers and serve them appropriately after detecting which browser or platform is looking at your site.
... it is usually much better to create a single version of your code which doesn't care about what browser or platform is accessing the site, but instead uses feature tests to find out what code features the browser supports or what the values of certain browser features are, and then adjusts the code appropriately.
...you don't get caught in the situation of having to bring out more new site versions as more new browsers and platforms come out, and adjust code as feature support in existing browsers changes.
Unit Testing - Archive of obsolete content
so we'll create a base64 module to expose these functions from the platform (see creating reusable modules).
...now create a new file called "base64.js", and give it the following contents: const { atob, btoa } = require("resource://gre/modules/services.jsm"); exports.atob = a => atob(a); exports.btoa = b => btoa(b); this code exports two functions, which just call the platform's btoa() and atob() functions.
Using XPCOM without chrome - Archive of obsolete content
using sdk xpcom with the low-level module sdk/platform/xpcom , it's possible to exclude chrome and xpcomutils in some cases.
... // this removes the need to import ci and the xpcomutils const { class } = require("sdk/core/heritage"); const { unknown } = require('sdk/platform/xpcom'); const { placesutils } = require("resource://gre/modules/placesutils.jsm"); let bmlistener = class({ extends: unknown, interfaces: [ "nsinavbookmarkobserver" ], //this event most often handles all events onitemchanged: function(bid, prop, an, nv, lm, type, parentid, aguid, aparentguid) { console.log("onitemchanged", "bid: "+bid, "property: "+prop, "isanno: "+an, "new value: "+nv, "...
Finding window handles - Archive of obsolete content
when working on windows platforms, many apis and frameworks require a window handle (hwnd type).
... since mozilla tries to be as cross-platform as possible, it can be difficult to get the handle you need.
Developing add-ons - Archive of obsolete content
this page will help guide you to the information you need in order to create add-ons for firefox, thunderbird, or other software based on the mozilla platform, as well as how to distribute your add-ons.
... the mozilla platform information about the mozilla platform, including all of its apis and technologies, as well as how to use them in your own projects.
Extension Versioning, Update and Compatibility - Archive of obsolete content
if the install.rdf contains any targetplatform entries then the platform of the currently running application must be listed or the installation will be rejected.
...there are also gnu ports for win (besides usual suspects like cygwin), which are good for non-interactive use: sha256sum file there is also md5deep, which is cross platform: sha256deep file openssl also generates hashes for you: openssl sha256 file if you're on windows, hashtab is a shell extension...
Handling Preferences - Archive of obsolete content
to open the preferences window in firefox, select the following from the main menu: on windows, tools > options on mac, firefox > preferences on linux, edit > preferences note: keep in mind the usage of the terms "preferences" and "options" in different platforms.
...tip: you can use window.navigator.platform in your chrome code to figure out the operating system firefox is running on.
Setting Up a Development Environment - Archive of obsolete content
it's free, open source, and cross-platform.
... it's based on the mozilla xulrunner platform, so it has support for some of the particularities in firefox extension development.
Signing an XPI - Archive of obsolete content
introduction this article describes how to sign your own firefox extensions with a code-signing certificate on a windows platform.
...ideally you want a certificate that has a root ca installed in all major platforms (microsoft windows, sun java, mozilla/netscape firefox/navigator, opera) so you only use one certificate for signing all your software, no matter which platform it is for.
Making a Mozilla installation modifiable - Archive of obsolete content
on unix-like operating systems with bash-like shells, you can run the following command within that directory to accomplish this task: for file in *.jar; do unzip $file; done on operating systems with dos-like shells, the following command accomplishes this task: for %file in (*.jar); do unzip %file note that there are platform-specific files — en-mac.jar, en-unix.jar, and en-win.jar — in that directory.
... extract only the one appropriate for your platform.
Creating a Release Tag - Archive of obsolete content
remember to also check out extra mac and win32 files that aren't normally checked out on linux or the tag won't build on those platforms.
... cvs co -r netscape_6_2_release mozilla/client.mk cd mozilla gmake -f client.mk checkout create a mini branch for the pull scripts on all three platforms so we can change them without changing anything on the original branch.
Repackaging Firefox - Archive of obsolete content
the "platforms" section lets you select the platforms for which you wish to generate customized installers.
...the names of the source installer packages for each platform that are included in your source directory will appear next to each checkbox.
jspage - Archive of obsolete content
.length=="number"){if(a.callee){return"arguments"; }else{if(a.item){return"collection";}}}}return typeof a;}function $unlink(c){var b;switch($type(c)){case"object":b={};for(var e in c){b[e]=$unlink(c[e]); }break;case"hash":b=new hash(c);break;case"array":b=[];for(var d=0,a=c.length;d<a;d++){b[d]=$unlink(c[d]);}break;default:return c;}return b;}var browser=$merge({engine:{name:"unknown",version:0},platform:{name:(window.orientation!=undefined)?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].tolowercase()},features:{xpath:!!(document.evaluate),air:!!(window.runtime),query:!!(document.queryselector)},plugins:{},engines:{presto:function(){return(!window.opera)?false:((arguments.callee.caller)?960:((document.getelementsbyclassname)?950:925)); },trident:function(){return(!window.active...
...xobject)?false:((window.xmlhttprequest)?((document.queryselectorall)?6:5):4);},webkit:function(){return(navigator.taintenabled)?false:((browser.features.xpath)?((browser.features.query)?525:420):419); },gecko:function(){return(!document.getboxobjectfor&&window.mozinnerscreenx==null)?false:((document.getelementsbyclassname)?19:18);}}},browser||{});browser.platform[browser.platform.name]=true; browser.detect=function(){for(var b in this.engines){var a=this.engines[b]();if(a){this.engine={name:b,version:a};this.engine[b]=this.engine[b+a]=true; break;}}return{name:b,version:a};};browser.detect();browser.request=function(){return $try(function(){return new xmlhttprequest();},function(){return new activexobject("msxml2.xmlhttp"); },function(){return new activexobject("microsoft.xmlhttp");});};browser.fe...
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
1.0, fragment identifier for xml xsl transformations: xslt 1.0 xml path language: xpath 1.0 resource description framework: rdf simple object access protocol: soap 1.1 ecma-262, revision 3 (javascript 1.5): ecma-262 general cross-browser coding tips even though web standards do exist, different browsers behave differently (in fact, the same browser may behave differently depending on the platform).
...venkman, shown in figure 3, is a powerful, cross-platform javascript debugger that integrates with mozilla.
Tamarin-central rev 703:2cee46be9ce0 - Archive of obsolete content
testing summary acceptance tests have passed on the following supported platforms: * windows, 32 & 64 bit * mac ox x ppc & intel, 32 bit * linux, 32 bit * windows mobile arm version asc-4200 of the actionscript compiler was used for all tests.
... buildsize flash10576k tc-700740k tc-703655k known issues known failures in the acceptance testsuite include: number failures in testsuite when running on linux windows mobile system.privatebytes and -memstats privatebytes always returns 0 amd64 longjmp hack needs reengineering on non-windows platforms different runtime errors when -dforcemir set in acceptance test run arm: math failures running with thumb or arm jit and interp.
Venkman - Archive of obsolete content
bandhauer then went on to reflect that api into java, and create his cross platform front end, eventually producing netscape javascript debugger 1.0 and 1.1.
...this allows the user interface be written in javascript and xul, which allows venkman to be fully cross-platform.
Elements - Archive of obsolete content
supported modifiers are: shift alt control meta accel - the platform's primary accelerator key.
...(it's the control key on windows and meta on mac.) accesskey - the platform's primary shortcut mnemonic key should be used (the alt key on windows and linux, has no effect on mac).
addDirectory - Archive of obsolete content
subdir the name of a directory to append to localdirspec, using '/' as the path separator regardless of the platform.if subdir is missing, null, or "", the filenames are appended directly to the folder name specified by localdirspec.
...also see the note about binaries on the macintosh platform in addfile.
accesskey - Archive of obsolete content
on non-macintosh platforms, the character on the element's label matching the accesskey is underlined.
...when the user presses a modifier key specific to the platform (eg, control* on windows, command* on macintosh) and the access key, the element will be focused and/or activated from anywhere in the window.
icon - Archive of obsolete content
ArchiveMozillaXULAttributeicon
some platforms display these buttons with a small icon indicating their usage.
...see the appearance of the different icons on some available platforms.
modifiers - Archive of obsolete content
keys will map to other keys on platforms that do not have them.
... accel: the key used for keyboard shortcuts on the user's platform, which is control on windows and linux, and command on mac.
Getting File Information - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
... some of the permissions may not be supported on some platforms.
Reading from Files - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
...this method handles all the different types of end of line characters and combinations, so you do not need to worry about platform specific conventions.
Creating Dialogs - Archive of obsolete content
these differences will vary depending on the platform the application is running on.
...this mechanism is necessary because different platforms have a specific order in which the buttons appear.
XUL Questions and Answers - Archive of obsolete content
some platforms display these buttons with a small icon indicating their usage.
... someelement { font-family: "my font", "trebuchet ms"; } for more information about platform specific questions, please visit mozilla.dev.platform ...
key - Archive of obsolete content
ArchiveMozillaXULkey
keys will map to other keys on platforms that do not have them.
... accel: the key used for keyboard shortcuts on the user's platform, which is control on windows and linux, and command on mac.
treecol - Archive of obsolete content
/> <treecol label="name" flex="1" /> </treecols> <treechildren> <treeitem> <treerow> <treecell value="true"/> <treecell label="alice"/> </treerow> </treeitem> <treeitem> <treerow> <treecell value="false"/> <treecell label="bob"/> </treerow> </treeitem> </treechildren> </tree> to make the checkbox visible on some platforms, the following styles need to be added to the stylesheet (see treecol.type).
... depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
XUL - Archive of obsolete content
the term xul is sometimes used to refer to the whole mozilla platform (e.g.
... xul applications are applications using xul and other components of the platform).
Building XULRunner with Python - Archive of obsolete content
you should also read the the developer documentation on source code and building as wells as pyxpcom xulrunner with python promises to be a good platform for accessibility projects and both jambu alternative input and the iaccessible2 test tool are using it.
...the matching platform sdk is also needed and for msvc71 that is .net framework sdk 1.1.
Gecko Compatibility Handbook - Archive of obsolete content
gecko is a cross-platform browser engine, compatible with a number of windows versions including windows xp, as well as mac and linux.
... because of gecko's cross-platform nature, functionality is generally very much the same on different platforms unlike internet explorer for mac and ie for windows, which are very different programs and so may behave quite differently from each other.
2006-11-03 - Archive of obsolete content
fix host_libidl_libs originally posted on october 29th: gery gery claims to have discovered a problem when he compiles mozilla across different platforms when pkg_config is used.
...paul explains that his goal is to do only singular sets of builds where the coverage of all the platforms is constant.
2006-10-06 - Archive of obsolete content
summary: mozilla.dev.platform - september 30th to october 6th 2006 announcements mike schroepfer is attending a vista compatibility lab with some other people this week.
... other traffic there was no traffic on mozilla.dev.platform this week.
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.platform - october 14th to october 20th 2006 announcements no announcements this week.
...nickolay ponomarev, benjamin smedberg, axel hecht clarify some misconceptions about front-end and back-end programming with xulrunner, including the difficulty of writing the backends in c++ (since that would require a recompilation on every platform frank wanted to support).
2006-11-10 - Archive of obsolete content
summary: mozilla.dev.platform - november 4th - november 10th, 2006 announcements no announcements this week traffic beaufour moves the discussion about xulrunner unit-tests like xpcshell from mozilla.dev.platform to mozilla.dev.quality.
...matthew gertner wants to know if anyone has written code to paste images from the clipboard on platforms other than windows?
2006-11-17 - Archive of obsolete content
summary: mozilla.dev.platform - november 11th - november 17th, 2006 announcements no announcements this week traffic xulrunner: <browser> not allowing javascript popup windows b notes that when using xul elements <browser/> and <tabbrowser/> the javascript popup windows don't work out of the box and asks what needs to be implement.
...please see mozilla.dev.platform faq for solution.
2006-18-24 - Archive of obsolete content
summary: mozilla.dev.platform - november 18th - november 24th, 2006 announcements no announcements this week traffic xulrunner: <browser> not allowing javascript popup windows b notes that when using xul elements <browser/> and <tabbrowser/> the javascript popup windows don't work out of the box and asks what needs to be implement.
... please see mozilla.dev.platform faq for solution.
NPP_SetWindow - Archive of obsolete content
the data structure passed in npp_setwindow is an npwindow object, which contains the coordinates of the instance's area and various platform-specific data.
...for windowless plug-ins, it is a platform-specific handle to a drawable.
NPRegion - Archive of obsolete content
« gecko plugin api reference « browser side plug-in api summary represents a platform-defined region of a page.
...for information about the region type definition used by your platform, see your platform documentation.
NPSetWindowCallbackStruct - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary note: this structure is only used on unix platforms.
... description callback structures are used to pass platform-specific information.
Samples and Test Cases - Archive of obsolete content
the samples may not build any more on all platforms.
... there are plans to clean up the sample plugin situation - better organization, updated build systems, get them building on all platforms.
Theme changes in Firefox 3 - Archive of obsolete content
all file list all platforms file description of change browser/themes/*/browser/browser.css the width of the drag and drop indicator is no longer calculated during the drag (tabbrowser.xml).
... changes in browser --- changes in global all platforms the yellow background for the location bar has been deprecated; instead, themes should style the new #identity-box element depending on its verifieddomain/verifiedidentity class.
Browser Detection and Cross Browser Support - Archive of obsolete content
unlike other browsers, gecko is truly cross platform and provides consistent behavior across all supported operating systems.
...owser vendor and major version number is_nav2, is_nav3, is_nav4, is_nav4up, is_nav6, is_nav6up, is_gecko, is_ie3, is_ie4, is_ie4up, is_ie5, is_ie5up, is_ie5_5, is_ie5_5up, is_ie6, is_ie6up, is_hotjava3, is_hotjava3up, is_opera2, is_opera3, is_opera4, is_opera5, is_opera5up javascript version number is_js (float indicating full javascript version number: 1, 1.1, 1.2 ...) os platform and version is_win, is_win16, is_win32, is_win31, is_win95, is_winnt, is_win98, is_winme, is_win2k, is_os2, is_mac, is_mac68k, is_macppc, is_unix, is_sun, is_sun4, is_sun5, is_suni86, is_irix, is_irix5, is_irix6, is_hpux, is_hpux9, is_hpux10, is_aix, is_aix1, is_aix2, is_aix3, is_aix4, is_linux, is_sco, is_unixware, is_mpras, is_reliant, is_dec, is_sinix, is_freebsd, is_bsd, is_vms dete...
New in JavaScript 1.1 - Archive of obsolete content
math.random() now works on every platform.
... isnan() now works on every platform (not only unix anymore) parsefloat() and parseint() now return nan on all platforms, if the first character of the specified string cannot be converted to a number; in previous releases, it returned nan on solaris and irix and zero on all other platforms.
Using the DOM File API in chrome code - Extensions
in bootstrap scope, this must be imported in like so: cu.importglobalproperties( [ "file" ] ) accessing a file by hard-coded pathname to reference a file by its path, you can simply use a string literal: var file = file.createfromfilename("path/to/some/file"); cross platform note: however using hard-coded paths raises cross platform issues since it uses a platform-dependent path separator (here "/").
... in the xul/mozilla platform there isn't sadly an equivalent to java file.pathseparator (the system-dependent path-separator character).
Index - Game development
this article provides a detailed guide to implementing audio for web games, looking at what works currently across as wide a range of platforms as possible.
... 30 implementing game control mechanisms controls, desktop, gamepad, games, javascript, laptop, mobile, keyboard, mouse, touch one of html5's main advantages as a game development platform is the ability to run on various platforms and devices.
Game promotion - Game development
the more information you can include the better — you should include screenshots, description, trailer, press kit, requirements, available platforms, support details and more.
...be sure to check first if they are dealing with specific genres of games or platforms, so you don't send them something that is not relevant to them in the first place.
Desktop mouse and keyboard controls - Game development
that way we can broaden the list of supported platforms.
...epointer.x > this.world.width*0.5) { // shoot } } if you'd like to differentiate the mouse buttons being pressed, there are three defaults you can pick from: this.game.input.mousepointer.leftbutton.isdown; this.game.input.mousepointer.moddlebutton.isdown; this.game.input.mousepointer.rightbutton.isdown; keep in mind that instead of mousepointer, it's better to use activepointer for platform independent input if you want to keep the support for mobile touch interactions.
Tiles and tilemaps overview - Game development
square tiles allow for two perspectives: top-down (like many rpg's or strategy games like warcraft 2 or final fantasy's world view.) side-view (like platformers such as super mario bros.) static tilemaps a tilemap can either fit into the visible screen area screen or be larger.
...they can follow a character — like in platformers or rpgs — or allow the player to control the camera — like in strategy or simulation games.
Gaia - MDN Web Docs Glossary: Definitions of Web-related terms
the user interface and default application suite of the firefox os platform.
... learn more technical reference gaia platform guide gaia development/hacking guide ...
Responsive design - Learn web development
modern css layout methods are inherently responsive, and we have new things built into the web platform to make designing responsive sites easier.
... the rest of this article will point you to the various web platform features you might want to use when creating a responsive site.
What text editors are available? - Learn web development
any text editor can get the job done, if it runs on your system, but a cross-platform editor eases migration from os to os.
...the method varies based on your platform but it shouldn't be too hard: windows.
What software do I need to build a website? - Learn web development
there are dozens of browser options for your personal use, but when you're developing a website you should test it at least with the following major browsers, to make sure your site works for most people: mozilla firefox google chrome microsoft internet explorer apple safari if you're targeting a specific group (e.g., technical platform or country), you may have to test the site with additional browsers, like opera, konqueror, or uc browser.
...you can also share devices if you want to test on many platforms without spending too much.
HTML forms in legacy browsers - Learn web development
chrome platform status site is also important.
...n the browsers your targeting, you should feature detect: css feature detection before styling a replaced form control widget, you can check to see if the browser supports the features you plan on using using @supports: @supports (appearance: none) { input[type="search"] { appearance: none; /* restyle the search input */ } theappearance property can be used to display an element using platform-native styling, or, as is done with the value of none, remove default platform-native based styling.
Sending form data - Learn web development
the way you access this list depends on the development platform you use and on any specific frameworks you may be using with it.
...the specific characters you should be cautious with vary depending on the context in which the data is used and the server platform you employ, but all server-side languages have functions for this.
Video and audio content - Learn web development
due to the intricacies of ensuring your app's media is viewable across every combination of browsers, platforms, and devices you wish to reach, choosing the best combination of codecs and container can be a complicated task.
...including webm and mp4 sources should be enough to play your video on most platforms and browsers these days.
Introduction to web APIs - Learn web development
third-party apis — constructs built into third-party platforms (e.g.
... twitter, facebook) that allow you to use some of those platform's functionality in your own web pages (for example, display your latest tweets on your web page).
Understanding client-side JavaScript frameworks - Learn web development
we want you to go forward and learn about frameworks in a pragmatic way that doesn't forget about web platform fundamental best practices such as accessibility.
... your code will be richer and more professional as a result, and you'll be able to troubleshoot problems with more confidence if you understand the fundamental web platform features that the frameworks are building on top of.
Strategies for carrying out testing - Learn web development
you may also consider using open source and privacy focussed analytics platforms like open web analytics and matomo.
... they expect you to self-host the analytics platform.
Accessibility API cross-reference
an interesting problem is that mozilla, safari/khtml, opera, staroffice and other apps are cross-platform, but there is currently no cross-platform accessibility api.
... the ipc mechanisms used by current generation api's are also not cross-platform, although communication for some cross-platform accessibility api of the future could be done through sockets.
What to do and what not to do in Bugzilla
if another hardware platform like mac or dec is also affected, change hardware to all.
...the exceptions to this rule are platform-specific or compiler-specific bugs.
Debugging
documentation topics debugging on top of the mozilla platform debugging javascript code how to debug javascript code, with a focus on debugging code in the mozilla project itself.
... debugging the mozilla platform using debuggers with mozilla debugging mozilla on windows faq questions (and answers) about debugging mozilla on windows.
Makefile - variables
os_ variable description os_arch platform type os_target target binary type if building on an intermediate platform(building mobile binaries on gnu/linux).
... host_ variable description host_cmsrcs a list of .m sources to compile host_cmmsrcs a list of .mm sources to compile host_objs host_os_arch arch of real platform a target platform is being built on(building mobile binaries on gnu/linux).
OS TARGET
os_target is typically the output of the 'uname -s' command on the target platform.
... the following list is not complete as any platform could have its own os_target.
Obsolete Build Caveats and Tips
windows server 2003 r2 platform sdk obsolete since gecko 12.0 (firefox 12.0 / thunderbird 12.0 / seamonkey 2.9)this feature is obsolete.
... sdks older than the server 2003 r2 platform sdk aren't supported either.
Contributing to the Mozilla code base
now that you've got your first bug fixed you should request level 1 access to the repository to push to the try server and get automated feedback about your changes on multiple platforms.
...we'll be integrating some information from these pages soon, but until then you may find them interesting in their current form: a guide to learning the mozilla codebase a beginner's guide to spidermonkey, mozilla's javascript engine mozilla platform development cheatsheet (archive.org) ...
Developer guide
the mozilla platform information about the workings of the mozilla platform.
... mozilla platform development cheat sheet (archive.org) brian bondy's list of frequently referenced information for platform developers.
Cross Process Object Wrappers
however, if an add-on passes a cpow into a platform api, and that platform api then attempts an unsafe operation on it, this will throw an exception.
... cpows and platform apis you can't pass cpows into platform apis that expect to receive dom objects.
Gecko Keypress Event
the accel key depends on the platform.
...there are also some differences between the platforms, as described in the following sections.
UpdateListener
addon addon) void onnocompatibilityupdateavailable(in addon addon) void onupdateavailable(in addon addon, in addoninstall install) void onnoupdateavailable(in addon addon) void onupdatefinished(in addon addon, in integer error) methods oncompatibilityupdateavailable() called when the update check found compatibility information for the application and platform version that the update check was being performed for.
... void oncompatibilityupdateavailable( in addon addon ) parameters addon the addon that was being checked for updates onnocompatibilityupdateavailable() called when the update check found no new compatibility information for the application and platform version that the update check was being performed for.
PerfMeasurement.jsm
variable type description eventsmeasured eventmask a bit mask of the event types recorded; this can differ from the events requested if the platform doesn't support all of the event types you specified when creating the perfmeasurement object.
...methods canmeasuresomething() indicates whether or not the platform on which your code is running supports this code module.
Fonts for Mozilla 2.0's MathML engine
on most linux distributions and similar open source platforms, you can install math fonts (stix, asana or mathjax fonts) from your package manager or get them from this zip archive.
... on android, firefox os and other platforms where the instructions above do not work: install the mathml-fonts add-on.
Build Metrics
lower is better here, especially on space-restricted platforms like android.
... build times amount of time it takes to build firefox in automation on a specific platform / configuration.
TimerFirings logging
2088737280[7f606bf68140]: [30710] fn timer (one_shot 16 ms): [from dladdr] #0: ???[/home/njn/moz/mi1/o64/dist/bin/libxul.so +0x2144f94] 2088737280[7f606bf68140]: [30710] fn timer (one_shot 16 ms): [from dladdr] #0: mozilla::refreshdrivertimer::timertick(nsitimer*, void*) (/home/njn/moz/mi1/o64/layout/b third, on other platforms dladdr is not implemented or doesn't work well, and the output will look like the followin.
... if an unannotated timer function appears frequently it is worth explicitly annotating it so that it will be usefully identified on other platforms.
Performance
it is available on all platforms and release channels, and also supports remote profiling b2g and fennec.
... timerfirings logging (all platforms) timerfirings logging is a built-in logging mechanism that prints data on every time fired.
AsyncTestUtils extended framework
in the mozilla platform, the "top level" of a program is the event loop.
... thanks to javascript enhancements available on the mozilla platform, it is possible for a function to yield control in such a way that the function stops running at the line where you use a yield statement and resumes execution on the next line when resumed.
Interval Timing
nspr defines a platform-dependent type, printervaltime, for timing intervals of fewer than approximately 6 hours.
... printervaltime interval functions interval timing functions are divided into three groups: getting the current interval and ticks per second converting standard clock units to platform-dependent intervals converting platform-dependent intervals to standard clock units getting the current interval and ticks per second pr_intervalnow pr_tickspersecond converting standard clock units to platform-dependent intervals pr_secondstointerval pr_millisecondstointerval pr_microsecondstointerval converting platform-dependent intervals to standard clock units pr_intervalt...
Logging
these controls are platform dependent.
... logging is not compiled in for the win16 platform.
NSPR LOG FILE
the exact syntax is platform specific.
...if nspr_log_file is not in the environment, then log output is written to stdout or stderr, depending on the platform.
PRIntervalTime
a platform-dependent type that represents a monotonically increasing integer--the nspr runtime clock.
... syntax #include <prinrval.h> typedef pruint32 printervaltime; #define pr_interval_min 1000ul #define pr_interval_max 100000ul #define pr_interval_no_wait 0ul #define pr_interval_no_timeout 0xfffffffful description the units of printervaltime are platform-dependent.
PR_EXTERN
for syntax details for each platform, see prtypes.h.
... warning: some platforms do not allow the use of the underscore character (_) as the first character of an exported symbol.
PR_GetOSError
description used for platform-specific code that requires the underlying os error.
...however, this information is preserved, along with a platform neutral error code, on a per thread basis.
PR_IMPLEMENT
for syntax details for each platform, see prtypes.h.
... warning: some platforms do not allow the use of the underscore character (_) as the first character of an exported symbol.
PR_IntervalToMicroseconds
converts platform-dependent intervals to standard clock microseconds.
... syntax #include <prinrval.h> pruint32 pr_intervaltomicroseconds(printervaltime ticks); parameter ticks the number of platform-dependent intervals to convert.
PR_IntervalToMilliseconds
converts platform-dependent intervals to standard clock milliseconds.
... syntax #include <prinrval.h> pruint32 pr_intervaltomilliseconds(printervaltime ticks); parameter ticks the number of platform-dependent intervals to convert.
PR_IntervalToSeconds
converts platform-dependent intervals to standard clock seconds.
... syntax #include <prinrval.h> pruint32 pr_intervaltoseconds(printervaltime ticks); parameter ticks the number of platform-dependent intervals to convert.
PR_MicrosecondsToInterval
converts standard clock microseconds to platform-dependent intervals.
... returns platform-dependent equivalent of the value passed in the micro parameter.
PR_MillisecondsToInterval
converts standard clock milliseconds to platform-dependent intervals.
... returns platform-dependent equivalent of the value passed in the milli parameter.
PR_MkDir
caveat: the mode parameter is currently applicable only on unix platforms.
... it may be applicable to other platforms in the future.
PR_Open
this feature is currently only applicable on unix platforms.
... it is ignored by any other platform but it may apply to other platforms in the future.
PR_OpenAnonFileMap
on unix platforms, pr_openanonfilemap uses dirname as a directory name, without the trailing '/', to contain the anonymous file.
... on windows platforms, dirname is ignored.
PR_ReadDir
on windows platforms and the mac os, this value identifies files with the "hidden" attribute set.
... on unix platform, this value identifies files whose names begin with a period (".").
PR_SecondsToInterval
converts standard clock seconds to platform-dependent intervals.
... returns platform-dependent equivalent of the value passed in the seconds parameter.
PR_SetError
syntax #include <prerror.h> void pr_seterror(prerrorcode errorcode, print32 oserr) parameters the function has these parameters: errorcode the nspr (platform-independent) translation of the error.
... oserr the platform-specific error.
NSS_3.12_release_notes.html
go to the subdirectory for your platform, dbg (debug) or opt (optimized), to get the tar.gz or zip file.
...data pointed by certvaloutparam array in case of error bug 426450: pkix_pl_hashtable_remove leaks hashtable key object bug 429230: memory leak in pkix_checkcert function bug 392696: fix copyright boilerplate in all new pkix code bug 300928: integrate libpkix to nss bug 303457: extensions newly supported in libpkix must be marked supported bug 331096: nss softoken must detect forks on all unix-ish platforms bug 390710: certnameconstraintstemplate is incorrect bug 416928: der decode error on this policy extension bug 375019: cache-enable pkix_ocspchecker_check bug 391454: libpkix does not honor nss's override trust flags bug 403682: cert_pkixverifycert never succeeds bug 324744: add generation of policy extensions to certutil bug 390973: add long option names to secu_parsecommandline bug 161326: nee...
NSS 3.14.2 release notes
if compiled on linux systems in 64-bit mode, nss will include runtime detection to check if the platform supports aes-ni and pclmulqdq.
...support for other platforms, such as windows, will follow in a future nss release.
nss tech note6
the following applies to nss 3.11 : the low-level freebl cryptographic code has been separated from softoken on all platforms.
... even on platforms for which there is only one implementation of freebl, there is now a separate freebl shared library.
Sample manual installation
where <obj-dir> would vary according to the type of build and the platform.
... for example, <obj-dir> for a debug build of nss on the x86 platform with a linux kernel version 2.6 with glibc would be: linux2.6_x86_glibc_pth_dbg.obj from these directories, you can copy the files to any system (or other) directory.
NSPR functions
nspr is a platform abstraction library that provides a cross-platform api to common os services.
... printervaltime has an abstract, platform-dependent time unit.
modutil-tasks.html
nss security tools: modutil tasks newsgroup: mozilla.dev.tech.crypto task list the jar installation script is very fragile with respect to platform definitions (especially version numbers).
... a fix was made for "hpux b.11.00," but issues may still arise for platforms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS_3.12.3_release_notes.html
go to the subdirectory for your platform, dbg (debug) or opt (optimized), to get the tar.gz or zip file.
...s bug 452391: certutil -k incorrectly reports ec private key as an orphan bug 453234: support for seed cipher suites to tls rfc4010 bug 453364: improve pk11_cipherop error reporting (was: pk11_createcontextbysymkey returns null bug 456406: slot list leaks in symkeyutil bug 461085: rfe: export function cert_comparecerts bug 462293: crash on fork after softoken is dlclose'd on some unix platforms in nss 3.12 bug 463342: move some headers to freebl/softoken bug 463452: sql db creation does not set files protections to 0600 bug 463678: need to add rpath to 64-bit libraries on hp-ux bug 464088: option to build nss without dbm (handy for wince) bug 464223: certutil didn't accept certificate request to sign.
NSS Tools modutil-tasks
nss security tools: modutil tasks newsgroup: mozilla.dev.tech.crypto task list the jar installation script is very fragile with respect to platform definitions (especially version numbers).
... a fix was made for "hpux b.11.00," but issues may still arise for platforms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
Network Security Services
network security services (nss) is a set of libraries designed to support cross-platform development of security-enabled client and server applications.
... get the source code and build it instructions on how to build nss on the different supported platforms.
Shumway
this article will help you understand shumway — mozilla's open standards-based flash renderer — and what it means for the community of developers currently creating the adobe flash platform.
... there are a few situations where a user may use shumway to view your content: their platform does not support adobe flash player.
Garbage collection
an arena is one page (4096 bytes on almost all platforms) and contains an arenaheader, a few pad bytes, and then an array of aligned elements.
... gc/memory.{h,cpp} contains a few functions for mapping and unmapping pages, along with platform-specific implementations.
Shell global objects
enablesinglestepprofiling() this function will fail on platforms that don't support single-step profiling (currently everything but arm-simulator).
... issimdavailable returns true if simd extensions are supported on this platform.
Web Replay
the difficulties are in figuring out the set of system library apis to intercept, in getting the memory management and dirty memory parts of the rewind infrastructure to work, and in handling the different graphics and ipc pathways on different platforms.
... compared to rr: this should work on all platforms and architectures supported by gecko, though with substantial port work required.
WebReplayRoadmap
the low level, yet flexible architecture (described here) provides an extremely powerful platform for implementing debugging and analysis features.
... platform improvements this section describes improvements to web replay's underlying platform which could make it more broadly useful for developers.
Mozinfo
throughout mozmill and other mozilla python code, checking the underlying platform is done in many different ways.
...additionally, the service pack in use is available on the windows platform.
Secure Development Guidelines
ent reference counting issues real-life example (bug 440230) void addref() { ++mrefcnt; ns_log_addref(this, mrefcnt, "nscssvalue::array", sizeof(*this)); } void release() { --mrefcnt; ns_log_release(this, mrefcnt, "nscssvalue::array"); if (mrefcnt == 0) delete this; } reference counting issues: prevention use the largest data type available on your platform for your reference counter use a hard limit constructor/destructor issues if a constructor fails the destructor never gets called this can lead to memory leaks constructor/destructor issues example class foo { private: char *ptr; public: foo() {} ~foo() { if (ptr) free(ptr); } }; constructor/destructor iss...
... snprintf, vsnprintf return value differs on various platforms.
XPCOM glue
MozillaTechXPCOMGlue
linking strategy: dependent glue standalone glue compiler flags: cross-platform #include "xpcom-config.h" #include "xpcom-config.h" #define xpcom_glue windows /fi "xpcom-config.h" linux -include "xpcom-config.h" linker flags: windows for older versions of the firefox sdk: -libpath:c:/path/to/sdk/lib xpcomglue_s.lib xpcom.lib nspr4.lib for recent versions of the firefox sdk (at least version 42, but possibl...
...ath/to/sdk/lib -l/path/to/sdk/bin -wl,-executable-path,/path/to/sdk/bin -lxpcomglue_s -lxpcom -lnspr4 when building against a xulrunner derived sdk, use: -l/path/to/sdk/lib -l/path/to/xulrunner-bin -wl,-executable_path,/path/to/xulrunner-bin -lxpcomglue_s -lxpcom -lnspr4 where 'xulrunner-bin' is either /library/frameworks/xul.framework/versions/current/ or /path/to/xulrunner-build/[platform]/dist/bin -l/path/to/sdk/lib -lxpcomglue linux -l/path/to/sdk/lib -l/path/to/sdk/bin -wl,-rpath-link,/path/to/sdk/bin -lxpcomglue_s -lxpcom -lnspr4 write it exactly as stated, see notes.
Component Internals
a set of default libraries stored in this components directory makes up a typical gecko installation, providing functionality that consists of networking, layout, composition, a cross-platform user interface, and others.
..."native" here includes any language that can generate a platform native dynamically loaded library.
Packaging WebLock
since mozilla and other gecko-based applications are cross-platform, this database is abstracted above the operating system or any particular platform's registry.
...as weblock installation script demonstrates, xpinstall uses special keywords to refer to common installation directories such as components in a generalized, cross-platform way.
Making cross-thread calls using runnables
in the mozilla platform, most activities such as layout, dom operations, content javascript, and chrome javascript run on the main thread.
... however, it may be useful for c++ code in the mozilla platform to run tasks on another thread.
imgIContainer
this may be a platform-native, optimized frame, so you cannot inspect its pixel data.
...this may be a platform-native, optimized surface, so you cannot inspect its pixel data.
nsIAccessible
« gecko at interfaces page summary the nsiaccessible interface is a cross-platform interface that supports platform-specific accessibility apis like msaa and atk.
...the modifier may be affected by user and platform preferences.
nsIAppShellService
this will usually be false on all non-mac platforms.
...(and at application startup, on platforms that do not normally quit when the last window has closed, call enter once, but not exit) void enterlastwindowclosingsurvivalarea(); parameters none.
nsICommandLine
this method has platform-specific logic for converting an absolute uri or a relative file-path into the appropriate uri object; it gracefully handles win32 c:\ paths which would confuse the i/o service if passed directly.
... return value a platform-specific uri.
nsIEnvironment
note: * for unix/linux platforms we follow the unix definition: an environment variable exists when getenv() returns a non-null value.
... for non-unix/linux platforms we have to fall back to a "portable" definition (which is incorrect for unix/linux!!!!) which simply checks whether the string returned by get() is empty or not.
nsIPropertyBag
eolocation:geolocation language:"en-us" mimetypes:mimetypearray mozalarms:null mozapps:xpcwrappednative_nohelper mozcameras:cameramanager mozconnection:mozconnection mozcontacts:contactmanager mozid:null mozkeyboard:xpcwrappednative_nohelper mozpay:null mozpermissionsettings:null mozphonenumberservice:phonenumberservice mozpower:mozpowermanager moztcpsocket:null online:true oscpu:"windows nt 5.1" platform:"win32" plugins:pluginarray product:"gecko" productsub:"20100101" useragent:"mozilla/5.0 (windows nt 5.1; rv:30.0) gecko/20100101 firefox/30.0" vendor:"" vendorsub:"" __proto__:navigatorprototype from here we can easily see the operating system version.
...also pay attention to their platform-specific meaning (e.g.
nsISound
if you wish to use this method for playing sounds, you should check the platform before you call playsystemsound().
...various event names are provided, which will result in playing the corresponding sound effect on the platform the user is running on: _moz_mailbeep the system sound when the system receives email.
nsITextInputProcessor
but the computation doesn't emulate the mapping of native key event handling completely because it has some special cases depending on platform or selected keyboard layout.
... therefore, if you need to emulate pc keyboard on specific platform, you may need to specify this explicitly.
nsIWebBrowserPersist
may also be combined with encode_flags_lf_linebreaks and if neither is specified, the platform default format is used.
...may also be combined with encode_flags_cr_linebreaks and if neither is specified, the platform default format is used.
Storage
for storage api help, you can post to mozilla.dev.apps.platform on the news server news.mozilla.org.
... sqlite syntax query language understood by sqlite sqlite database browser is a capable free tool available for many platforms.
XUL Overlays
MozillaTechXULOverlays
(actually, the implementation is one step more complicated than this: base files overlay dialogoverlay.xul from the global component directory, which in turn overlays a platform-specific xul file such as platformdialogoverlay.xul.
...cel buttons at the bottom: <box align="horizontal" id="bx1" flex="100%" style="margin-bottom: 1em; width: 100%;"> <html:input type="checkbox" id="dialog.newwindow"/> <html:label for="dialog.newwindow">&openwin.label;</html:label> <spring flex="100%"/> </box> <box id="okcancelbuttons"/> for more detail, see the ok and cancel button definitions being referenced here in the global component file platformdialogoverlay.xul.
Index
it shares many of the technologies used by mozilla firefox, including javascript, the gecko layout engine, the xul xml user interface language and the xpcom cross-platform component object model.
...there are deep fixes to the platform needed (e.g.
Using the Multiple Accounts API
- boolean, should we download new messags on biff (true) or just alert user that there is new mail (false) preference: mail.server.server.directory - local platform-specific path to store messages and folder indexes preference: mail.server.server.name - user-visible name of server the following are specific to imap: preference: mail.server.server.admin_url - administration url for server preference: mail.server.server.using_subscription - boolean, should we use subscriptions?
... preference: mail.server.server.newsrc.file - platform specific file path to newsrc file identities preference: mail.identity.identity.fullname - the user's full name, i.e.
Using the Mozilla symbol server
symbol indices are named like so: symbols.mozilla.org/{lowercased:name}/{lowercased:name}-{version}-{platform}-{buildid}-symbols.txt.
... the platform is either 'darwin' (for mac) or 'linux'.
Plug-in Side Plug-in API - Plugins
npp_handleevent delivers a platform-specific window event to the instance.
... npp_print requests a platform-specific print operation for an embedded or full-screen plug-in.
Streams - Plugins
np_asfileonly: this plug-in gets full random access to the data using platform-specific file operations.
...this mode gives the plug-in full random access to the data with platform-specific file operations.
Version, UI, and Status Information - Plugins
*/ return false; } else /* plug-in is running in a navigator version */ /* that has windowless support */ return true; } detecting windowless support on other platforms browser implementations on other platforms did not have windowless plug-in support at the time it was added to ms windows and mac os x, so a different method must be used to detect whether the browser provides support.
... bool has_windowless() { npbool supportswindowless = false; nperror ret = npn_getvalue(instance, npnvsupportswindowless, &supportswindowless); return ret == nperr_no_error && supportswindowless; } reloading a plug-in when the browser starts up, it loads all the plug-ins it finds in the plugins directory for the platform.
Gecko Plugin API Reference - Plugins
plug-in basics how plug-ins are used plug-ins and helper applications how plug-ins work understanding the runtime model plug-in detection how gecko finds plug-ins checking plug-ins by mime type overview of plug-in structure understanding the plug-in api plug-ins and platform independence windowed and windowless plug-ins the default plug-in using html to display plug-ins plug-in display modes using the object element for plug-in display nesting rules for html elements using the appropriate attributes using the embed element for plug-in display using custom embed attributes plug-in references plug-in development overview writing plug-ins registering plug-ins ms windows unix mac os x drawing a...
... plug-in instance handling memory sending and receiving streams working with urls getting version and ui information displaying messages on the status line making plug-ins scriptable building plug-ins building, platforms, and compilers building carbonized plug-ins for mac os x type libraries installing plug-ins native installers xpi plug-ins installations plug-in installation and the windows registry initialization and destruction initialization instance creation instance destruction shutdown initialize and shutdown example drawing and event handling the npwindow structure drawing plug-ins printing the plug-in setting the window getting information windowed plug-ins mac os windows unix event handling for window...
BeforeInstallPromptEvent - Web APIs
beforeinstallpromptevent.platforms read only returns an array of domstring items containing the platforms on which the event was dispatched.
... example window.addeventlistener("beforeinstallprompt", function(e) { // log the platforms provided as options in an install prompt console.log(e.platforms); // e.g., ["web", "android", "windows"] e.userchoice.then(function(choiceresult) { console.log(choiceresult.outcome); // either "accepted" or "dismissed" }, handleerror); }); ...
Drag Operations - Web APIs
although the exact keys used vary by platform, typically the shift and control keys would be used to switch between copying, moving, and linking.
... although the exact appearance depends on the user's platform, typically a plus sign icon will appear for a 'copy' for example, and a 'cannot drop here' icon will appear when a drop is not allowed.
msExtendedCode - Web APIs
the element's error property will then contain an msextendedcode read-only property with platform-specific error code information.
... value type: long; the platform specific error code.
Capabilities, constraints, and settings - Web APIs
this may not represent the actual current state of the track, due to properties whose requested values had to be adjusted and because platform default values aren't represented.
... checking capabilities you can call mediastreamtrack.getcapabilities() to get a list of all of the supported capabilities and the values or ranges of values which each one accepts on the current platform and user agent.
Navigator - Web APIs
WebAPINavigator
navigatorid.platform read only returns a string representing the platform of the browser.
... navigator.share() invokes the native sharing mechanism of the current platform.
Using the Notifications API - Web APIs
the system notification system will vary of course by platform and browser, but this is ok, and the notifications api is written to be general enough for compatibility with most system notification systems.
...this is in line with the specification, which states: "when a notification is closed, either by the underlying notifications platform or by the user, the close steps for it must be run." notification events there are four events that are triggered on the notification instance: click triggered when the user clicks on the notification.
Notifications API - Web APIs
the api is designed to be compatible with existing notification systems, across different platforms.
... concepts and usage on supported platforms, showing a system notification generally involves two things.
Reporting API - Web APIs
the reporting api provides a generic reporting mechanism for web applications to use to make reports available based on various platform features (for example content security policy, feature-policy, or feature deprecation reports) in a consistent manner.
... concepts and usage there are a number of different features and problems on the web platform that generate information useful to web developers when they are trying to fix bugs or improve their websites in other ways.
sourceCapabilities - Web APIs
a device is considered "responsible" for an event only when that interaction is part of the abstraction provided by the web platform.
... for example, many user agents allow a window to be resized with a mouse or a keyboard, but this detail is not exposed to the web platform in any way, and so the sourcecapabilities of a resize event will typically be null.
Writing WebSocket servers - Web APIs
the task of creating a custom server tends to scare people; however, it can be straightforward to implement a simple websocket server on your platform of choice.
...depending on your platform, this may be handled for you automatically.
Using bounded reference spaces - Web APIs
note that if the underlying platform defines a fixed room-scale origin and boundary, it may initialize any uninitialized values to match that predefined information; this is not unexpected behavior for users of these platforms.
... this way, our session will start up regardless of whether or not the user's platform is able to provide bounded reference spaces.
Geometry and reference spaces in WebXR - Web APIs
since the value is a floating-point number, it may be accurate to well better than the millisecond level, depending on the platform and hardware.
...the exact position depends on the underlying platform and implementation.
Privileged features - Web APIs
on windows platforms, a dependent window does not show on the task bar.
... the exact behavior of modal windows depends on the platform and on the mozilla release version.
Keyboard-navigable JavaScript widgets - Accessibility
the following table describes tabindex behavior in modern browsers: tabindex attribute focusable with mouse or javascript via element.focus() tab navigable not present follows the platform convention of the element (yes for form controls, links, etc.).
... follows the platform convention of the element.
:where() - CSS: Cascading Style Sheets
WebCSS:where
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossamsung internet:where()chrome full support 72disabled full support 72disabled disabled from version 72: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
... nosafari no support nowebview android no support nochrome android full support 72disabled full support 72disabled disabled from version 72: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
Using URL values for the cursor property - CSS: Cascading Style Sheets
however, you should limit yourself to the size 32×32 for maximum compatibility with operating systems and platforms.
...transparency works on all platforms.
scrollbar-width - CSS: Cascading Style Sheets
it must be one of the following values: auto the default scrollbar width for the platform.
... thin a thin scrollbar width variant on platforms that provide that option, or a thinner scrollbar than the default platform scrollbar width.
Live streaming web audio and video - Developer guides
gstreamer gstreamer is an open source cross-platform multimedia framework that allows you to create a variety of media-handling components, including streaming components.
... shoutcast shoutcast is a cross-platform proprietary technology for streaming media.
Setting up adaptive streaming media sources - Developer guides
it's incorporated into ios and osx platforms and works well on mobile and desktop safari and most android devices with some caveats.
... the stream segmenter — provided by apple for mac platforms — takes a media stream from a local network and splits media into equally sized media files together with an index file.
Index - Developer guides
WebGuideIndex
19 dom onevent handlers beginner, dom, dom beginner, needsbeginnerupdate, needsupdate the web platform provides several ways to be notified of dom events.
... 37 parsing and serializing xml ajax, add-ons, dom, dom parsing, document, extensions, guide, htmldocument, json, parsing, parsing xml, serializing, serializing xml, xml, xmldocument, xmlhttprequest in this article, we'll look at the objects provided by the web platform to make the common tasks of serializing and parsing xml easy.
User input and controls - Developer guides
once you decided the input mechanisms, you can control them using tools offered by the web platform or javascript libraries.
... recommendations available input mechanisms depend on the capabilities of the device running the application: some devices provide touchscreen displays: the web platform offers touch events to interpret finger activity on touch-based user interfaces.
Developer guides
progressive web apps progressive web apps (pwas) use modern web apis along with traditional progressive enhancement strategy to create cross-platform web applications.
... parsing and serializing xml the web platform provides different methods of parsing and serializing xml, each with its pros and cons.
<input type="color"> - HTML: Hypertext Markup Language
WebHTMLElementinputcolor
the element's presentation may vary substantially from one browser and/or platform to another—it might be a simple textual input that automatically validates to ensure that the color information is entered in the proper format, or a platform-standard color picker, or some kind of custom color picker window.
...for example, in safari 10.1, you would see something that looks looks like this: the same content looks like this in firefox 55: in this case, clicking on the color well presents the platform's color picker for you to choose a color from (in this case, the macos picker): validation a color input's value is considered to be invalid if the user agent is unable to convert the user's input into seven-character lower-case hexadecimal notation.
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
WebHTMLElementinput
appearance the appearance property enables the displaying of (almost) any element as a platform-native style based on the operating system's theme as well as the removal of any platform-native styling with the none value.
... setting appearance: none removes platform native borders, but not functionality.
DataView - JavaScript
the dataview view provides a low-level interface for reading and writing multiple number types in a binary arraybuffer, without having to care about the platform's endianness.
... var littleendian = (function() { var buffer = new arraybuffer(2); new dataview(buffer).setint16(0, 256, true /* littleendian */); // int16array uses the platform's endianness.
Date.prototype.toGMTString() - JavaScript
the exact format of the value returned by togmtstring() varies according to the platform and browser, in general it should represent a human readable date string.
...the exact format depends on the platform.
RegExp - JavaScript
using regular expression to split lines with different line endings/ends of line/line breaks the default line ending varies depending on the platform (unix, windows, etc.).
... the line splitting provided in this example works on all platforms.
Uint16Array() constructor - JavaScript
the uint16array() typed array constructor creates an array of 16-bit unsigned integers in the platform byte order.
... description the uint16array() typed array constructor creates an array of 16-bit unsigned integers in the platform byte order.
JavaScript shells - JavaScript
node.js - node.js is a platform for easily building fast, scalable network applications.
... gluescript - a standalone javascript shell for writing cross-platform javascript applications.
JavaScript typed arrays - JavaScript
typed array views are in the native byte-order (see endianness) of your platform.
... note: the data structure alignment in a c structure is platform-dependent.
Authoring MathML - MathML
cons: this requires to install programs on your computer, which may be a bit more difficult or they may not be available on all platforms.
...this command will generate an xhtml+mathml document foo.xml from a foo.tex latex source: mk4ht mzlatex foo.tex # linux/mac platforms mzlatex foo.tex # windows platform note that tex4ebook relies on tex4ht to generate epub documents.
Media container formats (file types) - Web media technologies
video codecs supported by 3gp codec browser support chrome edge firefox safari avc (h.264) yes1,2 h.263 yes1 mpeg-4 part 2 (mp4v-es) yes1 vp8 yes1 [1] firefox only supports 3gp on openmax-based devices, which currently means the boot to gecko (b2g) platform.
...dge firefox safari amr-nb yes1 amr-wb yes1 amr-wb+ yes1 aac-lc yes1,2 he-aac v1 yes1,2 he-aac v2 yes1,2 mp3 yes1 [1] firefox only supports 3gp on openmax-based devices, which currently means the boot to gecko (b2g) platform.
Web video codec guide - Web media technologies
in html content for web browsers, avc is broadly compatible and many platforms support hardware encoding and decoding of avc media.
... [1] while firefox does not generally support h.263, the openmax platform implementation (used for the boot to gecko project upon which firefox os was based) did support h.263 in 3gp files.
Optimizing startup performance - Web Performance
this article offers tips and suggestions to help you achieve that goal, both when writing a new app and when porting an app from another platform to the web.
... starting up nicely regardless of platform, it's always a good idea to start up as quickly as possible.
<cursor> - SVG: Scalable Vector Graphics
WebSVGElementcursor
the <cursor> svg element can be used to define a platform-independent custom cursor.
... a recommended approach for defining a platform-independent custom cursor is to create a png image and define a cursor element that references the png image and identifies the exact position within the image which is the pointer position (i.e., the hot spot).
SVG documentation index - SVG: Scalable Vector Graphics
WebSVGIndex
305 <cursor> deprecated, element, needsexample, reference, svg the <cursor> svg element can be used to define a platform-independent custom cursor.
... a recommended approach for defining a platform-independent custom cursor is to create a png image and define a cursor element that references the png image and identifies the exact position within the image which is the pointer position (i.e., the hot spot).
Subdomain takeovers - Web security
you want to add a blog at blog.example.com, and you decide to use a hosting provider who maintains a blogging platform.
... (for "blog", you can substitute "e-commerce platform", "customer service platform", or any other "cloud-based" virtual hosting scenario.) the process you go through might look like this: you register the name "blog.example.com" with a domain registrar.
WebAssembly
in a nutshell webassembly has huge implications for the web platform — it provides a way to run code written in multiple languages on the web at near native speed, with client apps running on the web that previously couldn’t have done so.
... guides webassembly concepts get started by reading the high-level concepts behind webassembly — what it is, why it is so useful, how it fits into the web platform (and beyond), and how to use it.
2015 MDN Fellowship Program - Archive of obsolete content
mentor information josh matthews, mozilla platform group.
Modules - Archive of obsolete content
compartments with chrome privileges have access to the components object, giving them full access to the host platform.
SDK API Lifecycle - Archive of obsolete content
at the same time, developers maintaining and extending the sdk's apis need to be able to introduce new apis that aren't yet fully proven, and to retire old apis when they're no longer optimal or supported by the underlying platform.
hotkeys - Archive of obsolete content
accel: the key used for keyboard shortcuts on the user's platform, which is control on windows and linux, and command on mac.
frame/utils - Archive of obsolete content
experimental provides helper functions for working with platform internals like frames and browsers.
io/file - Archive of obsolete content
usage paths path specifications in this api are platform-specific.
places/favicon - Archive of obsolete content
the platform service (moziasyncfavicons) retrieves favicon data stored from previously visited sites, and as such, will only return favicon urls for visited sites.
system/xul-app - Archive of obsolete content
platformversion the gecko/xulrunner platform version.
test/httpd - Archive of obsolete content
an http server for the mozilla platform, which can be used in unit tests.
util/uuid - Archive of obsolete content
for more details about uuid representations and what they are used for by the platform see the mdn documentation for jsid.
cfx - Archive of obsolete content
called with no options it looks for a file called package.json in the current directory, loads the corresponding add-on, and runs it under the version of firefox it finds in the platform's default install path.
Alerts and Notifications - Archive of obsolete content
this works on windows, linux and (if growl is installed) mac os x: function popup(title, text) { try { components.classes['@mozilla.org/alerts-service;1'] .getservice(components.interfaces.nsialertsservice) .showalertnotification(null, title, text, false, '', null); } catch(e) { // prevents runtime error on platforms that don't implement nsialertsservice } } if you need to display a comparable alert on a platform that doesn't support nsialertsservice, you can do this: function popup(title, msg) { var image = null; var win = components.classes['@mozilla.org/embedcomp/window-watcher;1'] .getservice(components.interfaces.nsiwindowwatcher) .openwindow(null, 'c...
Customizing the download progress bar - Archive of obsolete content
this is required since it contains platform-specific directives, as we will see.
Miscellaneous - Archive of obsolete content
getbrowserselection() is not implemented on some platforms, such as thunderbird and songbird.
Enhanced Extension Installation - Archive of obsolete content
aside from the work of locating the firefox executable in the first place (which varies from platform to platform), this is very limiting because: it forces the third party application to package its firefox integration hooks as a xpi.
Appendix: What you should know about open-source software licenses - Archive of obsolete content
3-28.html gnu gplv3 "last call" discussion draft http://gplv3.fsf.org/gpl-draft-2007-05-31.html official support for oss japan’s ministry of economy, trade, and industry has issued “guidelines when considering deploying open-source software.” this report, which was prepared by the software information center study group as part of the information-technology promotion agency’s (ipa) “platform-technology development and businesses relating to electronic commerce” project.
Chapter 1: Introduction to Extensions - Archive of obsolete content
these are sophisticated extensions that can be considered full-scale applications in their own right, essentially using firefox as the development platform.
Adding Toolbars and Toolbar Buttons - Archive of obsolete content
here are some examples of how the css for a toolbarbutton would look like on the 3 major platforms.
Adding windows and dialogs - Archive of obsolete content
luckily, you still get a great deal of help from the platform if you use the dialog element as the document root instead of the more generic window element.
Appendix D: Loading Scripts - Archive of obsolete content
as this module only exists on firefox 4 and other gecko 2-based platforms, the services in question will have to be manually loaded on other platforms.
Getting Started with Firefox Extensions - Archive of obsolete content
xpi (pronounced "zippy") stands for cross-platform installer, because the same installer file can work on all platforms firefox supports.
The Essentials of an Extension - Archive of obsolete content
there are also downloadable tools for all platforms that generate them.
Useful Mozilla Community Sites - Archive of obsolete content
it's a very powerful tool you have when developing on top of the mozilla platform, and you should take advantage of it in order to create a truly successful add-on .
User Notifications and Alerts - Archive of obsolete content
the main disadvantage of using alerts is that support for the alerts service is not guaranteed for all platforms and firefox versions.
Firefox addons developer guide - Archive of obsolete content
todo: all fixme notes inside the documents; add abbreviation definition to acronyms; add some link to the internal mdc documentation when it makes sense; indent source code; make sure documentation is relevant for all platforms: gnu/linux, macos, windows; add anchor links to figures & listings; add credits to original authors and license; completed sometimes, interfaces names are misspelled: s/nsl/nsi; talk about fuel; titles of chapters and sub-headings should have caps for first letter of each word; we should add a part about bad and good practices (leaks, global scopes, ...); add external resources (mozdev.or...
Automated testing tips and tricks - Archive of obsolete content
todo: check example code in to the tree somewhere how to quit the browser on all platforms window.close() of the last open window does not quit the application on mac http://people.mozilla.com/~davel/scripts/ - look at quit.js and quit.xul install manifest file in appdir/chrome to map chrome://tests/content to directory containing quit.js and quit.xul example: content tests file:///users/davel/work/tests/ start app with command line flag -chrome chrome://tests/content/quit.xul how to create a new profile from the command line first, use the -createprofile command line flag to add a profile entry to profiles.ini and populate the new profile directory with a prefs.js file firefox-bin -createprofile "testprofile ${profile_d...
Blackwood - Archive of obsolete content
the blackwood project, started by engineers at sun microsystems, is an attempt to better integrate the java platform with the mozilla browser.
Building TransforMiiX standalone - Archive of obsolete content
read the build instructions for your platform to get the requirements, which are the same as for mozilla.
Chromeless - Archive of obsolete content
one of the core capabilities of the chromeless platform is the ability to safely embed untrusted web applications inside these applications.
Making it into a static overlay - Archive of obsolete content
mozilla installer packages are called xpis (pronounced "zippies"), which stands for cross-platform installer.
Tinderbox - Archive of obsolete content
different platforms), most people only care about the overall situation, i.e.
Creating a hybrid CD - Archive of obsolete content
as a cross platform product, releases of mozilla on cd should also work on any platform.
Developing New Mozilla Features - Archive of obsolete content
our cross-platform component model (“xpcom”) is similar to com, but you’ll want to make sure you use it well before going too far with your project.
Download Manager preferences - Archive of obsolete content
in firefox 3.5 and seamonkey, the default is 1 on all platforms.
GRE - Archive of obsolete content
xulrunner supports or is planned to support embedding on all three major platforms (windows, mac, and linux).
Help Viewer - Archive of obsolete content
consequently, the mozilla platform provides a cross-platform help viewer along with a framework for providing built-in help documentation.
Extenders - Archive of obsolete content
manifest chief mechanism for allowing advanced api use within your jetpack superpowers similar to libraries, superpowers are for adding deeper platform coupling for your jetpack sandboxes safely abstracts library interoperability issues so you don't have to worry about them future api interface method for including not yet finalized functionality in your jetpack ...
System - Archive of obsolete content
clipboard interactions with the os clipboard system information get information about the platform on which jetpack is running visual effects os-level visual effects abilities devices methods for accessing and controlling devices (ex.
Mozilla Crypto FAQ - Archive of obsolete content
note that due to various implementation issues, psm support for mozilla on the macintosh is lagging somewhat behind psm support on windows, linux, and other platforms.
LIR - Archive of obsolete content
d 64 bit subtract quad and branch on overflow softfloat 124 dlo2i integer softfloat get the low 32 bits of a double as an int 125 dhi2i integer softfloat get the high 32 bits of a double as an int 126 ii2d double softfloat join two ints (1st arg is low bits, 2nd is high) 127 hcalli integer lir_hcalli is a hack that's only used on 32-bit platforms that use softfloat.
Plug-n-Hack - Archive of obsolete content
security researchers commonly use security tools in conjunction with browsers, but until now direct integration has required writing platform and browser specific extensions.
BundleLibrary - Archive of obsolete content
slimtimer client slimtimer.webapp a very useful time-tracking tool with a "slim" client spagobi spagobi.webapp a web collaborative business intelligence platform streamy streamy.webapp ( streamy is a pretty powerful, next-gen online rss feed reader.
Reading textual data - Archive of obsolete content
not doing so can cause problems if you try to rename or delete the file at a later time on some platforms.
open - Archive of obsolete content
for all file types, carriage returns and linefeeds are treated in a platform-agnostic way.
Static Analysis for Windows Code under Linux - Archive of obsolete content
this document will describe how to run mozilla static check for windows code under linux platform by creating a cross-compiler with dehydra support for mingw.
Abc Assembler Tests - Archive of obsolete content
compare_numbereq(name:string, expected:*, actual:*, fractiondigits:int=-1):void - compare 2 numbers up to fractiondigits this is to be used for high precision numbers that may vary slightly due to platform differences.
Tamarin Acceptance Testing - Archive of obsolete content
successfully build release and debug versions of the shell with the debugger enabled [info] successfully run the following test suites: acceptance test suite [info] self tests [info] submit a sandbox build request to test against platforms that you may not have locally [info] available tamarin acceptance test suites actionscript acceptance tests: actionscript acceptance tests running tamarin acceptance tests abc assembler tests cmdline tests performance tests actionscript performance tests running tamarin performance tests built-in self tests see instructions...
URIs and URLs - Archive of obsolete content
also this parser can identify drives if possible depending on the platform.
Using addresses of stack variables with NSPR threads on win16 - Archive of obsolete content
0 : 1; } this is a completely correct (albeit trivial) program that will run predictably on all nspr platforms other than win-16.
Venkman Introduction - Archive of obsolete content
on other platforms, including mac os and unix, it is alone in offering this degree of flexibility, depth, and power in a visual debugging environment.
DOM Interfaces - Archive of obsolete content
see "not so anonymous nodes" on mozilla.dev.platform for some discussion about this.
Trigger Scripts and Install Scripts - Archive of obsolete content
install scripts use the install, file, installversion and platform-specific installation object methods to initialize, queue, manage, and perform the installation of one or more software packages.
execute - Archive of obsolete content
-line arguments (-c, -d, and -s) to the executable, you should format the args string as follows: err = file.execute(myfile, '"-c""-d""-s"', true); //technically, given the rules above, you could also pass the same //arguments with the following line, but the result is much less //readable: err = file.execute(myfile, "\"-c\"\"-d\"\"-s\"", true); also see the note about binaries on the macintosh platform in addfile.
gestalt - Archive of obsolete content
this method returns null on unix and windows platforms.
getWinProfile - Archive of obsolete content
this method returns null on unix and macintosh platforms.
getWinRegistry - Archive of obsolete content
this method returns null on unix and macintosh platforms.
setRootKey - Archive of obsolete content
on 16-bit windows platforms, hkey_classes_root is the only valid value and this method does nothing.
XPInstall - Archive of obsolete content
<?xml version="1.0" encoding="utf-8"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- properties --> </description> </rdf> cross-platform install (xpinstall) is a technology used by mozilla application suite, mozilla firefox, mozilla thunderbird and other xul-based applications for installing extensions.
movetoclick - Archive of obsolete content
if not specified, the default value is used, which varies for each platform.
buttons - Archive of obsolete content
the buttons will be placed in suitable locations for the user's platform and basic event handling will be performed automatically.
chromemargin - Archive of obsolete content
this value may be -1 to use the default margin for that side on the current platform, 0 to have no system border (that is, to extend the client area to the edge of the window), or a value greater than zero to indicate how much less than the default default width you wish the margin on that side to be.
panel.consumeoutsideclicks - Archive of obsolete content
if it is not set, it defaults to the platform behavior.
context - Archive of obsolete content
a context-click varies on each platform.
crop - Archive of obsolete content
ArchiveMozillaXULAttributecrop
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
drawintitlebar - Archive of obsolete content
this is supported only from window elements, and is ignored on platforms that don't support drawing into the title bar.
panel.level - Archive of obsolete content
if this attribute is not set, the popup window level depends on the platform.
prefwindow.type - Archive of obsolete content
this ensures that the preferences are only saved when the main dialog is closed, if this is the appropriate behaviour for the platform.
resizer.type - Archive of obsolete content
as some platforms provide this resizing grip automatically, this type of resizer element will be hidden and ensure that the window does not get an extra resizer.
XUL Events - Archive of obsolete content
the action to do this varies by platform, but it will typically be a right click.
Working With Directories - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
Uploading and Downloading Files - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
Writing to Files - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
IO - Archive of obsolete content
ArchiveMozillaXULFileGuideIO
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
Moving, Copying and Deleting Files - Archive of obsolete content
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
TOC - Archive of obsolete content
ArchiveMozillaXULFileGuideTOC
file and stream guide: [ nsiscriptableio | accessing files | getting file information | reading from files | writing to files | moving, copying and deleting files | uploading and downloading files | working with directories ] important note: the pages from the file and stream guide use the io object (nsiscriptableio), which was not available in any released version of the platform (pending some fixes).
MenuItems - Archive of obsolete content
the "accel" modifier key varies on each platform, but is the key typically used for shortcut keys.
OpenClose - Archive of obsolete content
this action will vary on each platform, but it general it involves clicking on the element with the right mouse button.
Popup Guide - Archive of obsolete content
platform specific menu considerations see special per-platform menu considerations for some notes about handling menus on certain platforms, for instance creating the application menu on a macintosh.
buttons - Archive of obsolete content
the buttons will be placed in suitable locations for the user's platform and basic event handling will be performed automatically.
listbox.currentIndex - Archive of obsolete content
(or, on some platforms, typeof(listboxcurrentindex) will be undefined) in a single selection list, the current index will always be the same as the selected index.
SeaMonkey - making custom toolbar (SM ver. 1.x) - Archive of obsolete content
you can optionally use a jar tool or zip tool to package your button as a cross-platform installable (xpi) for other people to install and use.
Custom toolbar button - Archive of obsolete content
you can optionally use a jar tool or zip tool to package your button as a cross-platform installable (xpi) for other people to install and use.
Accesskey display rules - Archive of obsolete content
basic accesskey display rules on non-mac platforms, a character which is same as its accesskey is underlined.
Adding Buttons - Archive of obsolete content
when the user presses alt (or a similar key that varies on each platform) and the access key, the button will be focused from anywhere in the window.
Adding Event Handlers to XBL-defined Elements - Archive of obsolete content
accel the user must press the special modifier key that is usually used for keyboard shortcuts on their platform.
Creating a Window - Archive of obsolete content
(usually the browser window.) for example, we could open the find files dialog with either of the following: mozilla -chrome chrome://findfile/content/findfile.xul mozilla -chrome resource:/chrome/findfile/content/findfile.xul if you run this command from a command-line (assuming you have one on your platform), the find files dialog will open by default instead of the mozilla browser window.
Creating a Wizard - Archive of obsolete content
the exact layout will vary according to the os for the platform.
Creating an Installer - Archive of obsolete content
this mechanism is called xpinstall (cross platform install).
Focus and Selection - Archive of obsolete content
platform specific behaviors mac os x there is a preference called "full keyboard access" (fka).
Popup Menus - Archive of obsolete content
the exact way that a context menu is opened varies on each platform.
Progress Meters - Archive of obsolete content
the progress meter will have an animation such as a spinning barber pole or a sliding box, depending on the platform and theme used.
RDF Datasources - Archive of obsolete content
this property is only available on platforms that use file extensions.
Simple Menu Bars - Archive of obsolete content
you can customize the menus on the menubar to have whatever you want on them on all platforms except the macintosh.
Stacks and Decks - Archive of obsolete content
shadowing is very useful for creating the disabled appearance of buttons: example 2 : source view <stack style="background-color: #c0c0c0"> <description value="disabled" style="color: white; padding-left: 1px; padding-top: 1px;"/> <description value="disabled" style="color: grey;"/> </stack> this arrangement of text and shadow colors creates the disabled look under some platforms.
XUL Changes for Firefox 1.5 - Archive of obsolete content
button: icon property the icon property on a button may be used to set stock icons on a button, used on some platforms.
XUL element attributes - Archive of obsolete content
a context-click varies on each platform.
XUL Coding Style Guidelines - Archive of obsolete content
introduction xul, pronounced as "zool", stands for "xml-based user interface language", is a cross platform way of describing user interface.
caption - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
checkbox - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
description - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
dialogheader - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
groupbox - Archive of obsolete content
typically, the groupbox will be drawn with a border around it and the caption either above or over the top border, however the actual appearance will be platform specific.
label - Archive of obsolete content
ArchiveMozillaXULlabel
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
listbox - Archive of obsolete content
(or, on some platforms, typeof(listboxcurrentindex) will be undefined) in a single selection list, the current index will always be the same as the selected index.
listcell - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
listitem - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
menu - Archive of obsolete content
ArchiveMozillaXULmenu
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
menuitem - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
menulist - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
menuseparator - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
radio - Archive of obsolete content
ArchiveMozillaXULradio
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
resizer - Archive of obsolete content
as some platforms provide this resizing grip automatically, this type of resizer element will be hidden and ensure that the window does not get an extra resizer.
richlistbox - Archive of obsolete content
(or, on some platforms, typeof(listboxcurrentindex) will be undefined) in a single selection list, the current index will always be the same as the selected index.
scale - Archive of obsolete content
ArchiveMozillaXULscale
if not specified, the default value is used, which varies for each platform.
<statusbarpanel> - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
tab - Archive of obsolete content
ArchiveMozillaXULtab
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
titlebar - Archive of obsolete content
this element can't be used to change the platform-native titlebar of normal windows; instead, it's used to create custom titlebars for chromeless windows.
toolbarbutton - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
tooltip - Archive of obsolete content
depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped.
wizard - Archive of obsolete content
the wizard will rendered in a manner suitable for the user's selected theme and platform.
Deploying XULRunner - Archive of obsolete content
the responsibility still lies with the developer to provide the correct version of xulrunner per platform.
Dialogs in XULRunner - Archive of obsolete content
this is also nice for cross-platform applications, as each os has its own convention for where buttons should be placed on a dialog.
XULRunner FAQ - Archive of obsolete content
you can write your application in any language supported by the mozilla web platform, including html, xhtml, svg, or xul.
What XULRunner Provides - Archive of obsolete content
extension manager file picker (uses native os filepicker as appropriate) find toolbar helper app dialog/ui security ui (maintenance of ssl keychains, etc) embedding apis the following embedding apis are provided by xulrunner: cross-platform embedding (xre_initembedding) javaxpcom embedding gtkmozembed (linux only) activex control (windows only) (not yet complete) obsolete since gecko 7.0 nsview-based-widget (mac os x only) (not yet complete) the "maybe" list the following features have been discussed and may be included if developer time permits and code size is controlled: ldap support spellchecking support (with or w...
Mozprocess - Archive of obsolete content
mozprocess provides python process management via an operating system and platform transparent interface to mozilla platforms of interest.
2006-11-24 - Archive of obsolete content
exact cause is unknown but may be related to multiprocessor platforms.
2006-11-24 - Archive of obsolete content
if you build dependencies with non-default toolkit or on a non tier-1 platform you'll need to disable svg in your mozconfig.
2006-10-06 - Archive of obsolete content
announcements firefox 2 release candidate 2 is now available for download beltzner announced ff2 rc2 is availabe for all 3 major platforms in some 40 langauges.
2006-09-29 - Archive of obsolete content
summary of newsgroup moz.dev.platform summary: mozilla.dev.platform - september 22 - 29, 2006 announcements firefox 2 release candidate 1 is now available for download announcing that firefox 2 rc 1 is available for download discussions xulrunner fails without feedback on osx intel 10.4.7 will morton is trying to port a xul application to osx.
2006-10-13 - Archive of obsolete content
summary: mozilla.dev.platform - october 7th to october 13th 2006 announcements no announcments this week other traffic javascript package system for 1.9/ff3 on sun, oct 8 2006 robert sayre inquires about the javascript package system for 1.9 for firefox 3, robert would like to know if there is any chance we'll get this?
2006-10-27 - Archive of obsolete content
summary: mozilla.dev.platform - october 21st to october 27th 2006 announcements no announcments this week.
2006-11-03 - Archive of obsolete content
summary: mozilla.dev.platform - october 28th - november 3rd, 2006 announcements developer chat with brendan eich!
2006-12-01 - Archive of obsolete content
summary: mozilla.dev.platform - november 25th - december 1st, 2006 announcements no announcements this week traffic alex vincent posts that he has started a xulrunner/mac faq here on mozdev.
Newsgroup summaries - Archive of obsolete content
formatmozilla.dev.apps.firefox-2006-09-29mozilla.dev.apps.firefox-2006-10-06mozilla.dev.apps.calendarmozilla.dev.tech.js-enginemozilla-dev-accessibilitymozilla-dev-apps-calendarmozilla-dev-apps-firefoxmozilla-dev-apps-thunderbirdmozilla-dev-buildsmozilla-dev-embeddingmozilla-dev-extensionsmozilla-dev-i18nmozilla-dev-l10nmozilla-dev-planningmozilla-dev-platformmozilla-dev-qualitymozilla-dev-securitymozilla-dev-tech-js-enginemozilla-dev-tech-layoutmozilla-dev-tech-xpcommozilla-dev-tech-xul ...
NPEvent - Archive of obsolete content
the npevent structure is defined as xevent, the definition of the event type used by the xwindows platform.
NPN_GetValue - Archive of obsolete content
unix the platform-specific values for this parameter are npnvxdisplay (the current display), npnvxtappcontext (the browser's xtappcontext), and npnvnetscapewindow (the browser toplevel window in which the plugin is displayed).
NPN_ReloadPlugins - Archive of obsolete content
description npn_reloadplugins() reads the plugins directory for the current platform and reinstalls all of the plug-ins it finds there.
NPN_Version - Archive of obsolete content
note: platform-specific code in the plug-in api files npwin.cpp, npmac.cpp, or npunix.c checks version numbers automatically.
NPP_NewStream - Archive of obsolete content
this mode allows the plug-in full random access to the data using platform-specific file operations.
Plugins - Archive of obsolete content
if there are plugin features which are not available in the web platform, we encourage developers to post their use cases to mozilla.dev.platform project list, so that mozilla can prioritize web platform work to make those use cases possible.
0.90 - Archive of obsolete content
ArchiveRSSVersion0.90
pdates</title> <link>http://www.mozilla.org/status/</link> </item> <item> <title>bugzilla reorganized</title> <link>http://www.mozilla.org/bugs/</link> </item> <item> <title>mozilla party, 2.0!</title> <link>http://www.mozilla.org/party/1999/</link> </item> <item> <title>unix platform parity</title> <link>http://www.mozilla.org/build/unix.html</link> </item> <item> <title>npl 1.0m published</title> <link>http://www.mozilla.org/npl/npl-1.0m.html</link> </item> </rdf:rdf> note that here, rss is being used to list sections of the web site.
Security - Archive of obsolete content
ssl has been universally accepted on the world wide web for authenticated and encrypted communication between clients and servers.nspr release engineering guidethis paper is for engineers performing formal release for the netscape portable runtime (nspr) across all platforms.ssl and tlsthe secure sockets layer (ssl) and transport layer security (tls) protocols are universally accepted standards for authenticated and encrypted communication between clients and servers.
Building a Theme - Archive of obsolete content
rather than load the browser from disk using a file:// uri (since the location of firefox on the system can change from platform to platform and system to system), mozilla developers came up with a solution for creating uris to content that the installed add-on knows about.
Using Web Standards in your Web Pages - Archive of obsolete content
contents benefits of using web standards making your page using web standards - how to using the w3c dom developing cross browser and cross platform pages using xmlhttprequest summary of changes references original document information author(s): mike cowperthwaite, marcio galli, jim ley, ian oeschger, simon paquet, gérard talbot last updated date: may 29, 2008 copyright information: portions of this content are © 1998–2008 by individual mozilla.org contributors; content available under a creative commons license | details.
Date.prototype.toLocaleFormat() - Archive of obsolete content
also note that the behavior of the used locale depends on the platform, and the user might customize the locale used, so using the system locale the choose the format string might in some cases not even be adequate.
New in JavaScript 1.2 - Archive of obsolete content
array.prototype.sort() now works on all platforms.
LiveConnect - Archive of obsolete content
mailing list newsgroup rss feed related topics javascript, plugins older notes (please update or remove as needed.) while the bloated liveconnect code in the mozilla source was removed in version 1.9.2 of the platform (see bug 442399), its former api has been restored (see also the specification and this thread) (building on npapi?), and as of java 6 update 12, extensions as well as applets can make use of this restored api.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
by taking advantage of current scriptmonkey and ajax capabilities not to mention the loads of other features packed into the mozilla firefox browser engine, aptana jaxer fuses the client-side with the server-side, creating a unified “same language” development platform.
Server-Side JavaScript - Archive of obsolete content
server-side javascript is another way in which, as this article quotes eich, "mozilla wants to 'get people thinking about javascript as a more general-purpose language' and show them that 'it really is a platform for writing full applications.'" many vendors today are embedding mozilla rhino or mozilla spidermonkey into web server environments.
Building Mozilla XForms - Archive of obsolete content
have a look at the build instructions for detailed information for your platform.
RFE to the Custom Controls - Archive of obsolete content
note: xul is a feature of mozilla only and custom control authors should be aware their controls won't work on other browser platforms.
Requests For Enhancement - Archive of obsolete content
ArchiveWebXFormsRFE
xul is a feature of mozilla only and custom control authors should be aware their controls won't work on other browser platforms.
RDF in Mozilla FAQ - Archive of obsolete content
first, it is a simple, cross-platform database for small data stores.
Windows Media in Netscape - Archive of obsolete content
accessing properties and controls from the document object works well with ie also, and thus, in order to deploy cross-platform code, avoiding syntax that makes use of global namespace is important.
Archive of obsolete content
here at mdn, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers.
Anatomy of a video game - Game development
an important thing to remember for managed platforms, like the web, is that your loop may stop execution for significant periods of time.
Publishing games - Game development
you can benefit from the web being truly multiplatform.
Building up a basic demo with PlayCanvas editor - Game development
there are starter kits available, but we don't want to load models or start a platform game.
Unconventional controls - Game development
modern smart tvs can handle html5 games, because they have a built-in browser that can be used as a gaming platform.
Square tilemaps implementation: Scrolling maps - Game development
cameras can either be free-form, controlled by the player (such as in strategy games) or follow an object (such as the main character in platform games.) regardless of the type of camera, we would always need information regarding its current position, viewport size, etc.
Techniques for game development - Game development
this article provides a detailed guide to implementing audio for web games, looking at what works currently across as wide a range of platforms as possible.
Player paddle and controls - Game development
to do that we can use the system's default input (mouse or touch, depending on platform) and set the paddle position to where the input position is.
Tutorials - Game development
2d platform game with phaser this tutorial series shows how to create a simple platform game using phaser, covering fundamentals such as sprites, collisions, physics, collectables, and more.
Visual-js game engine - Game development
full name : visual-js gui for windows multiplatform 2d game engine creator : nikola lukic 2017 2018 open source visual-js project parts : -2d part : this is javascript game engine (server part node.js / client part js) js framework with windows gui editor and game instance creator.
Accessibility tree (AOM) - MDN Web Docs Glossary: Definitions of Web-related terms
browsers then create an accessibility tree based on the dom tree, which is used by platform-specific accessibility apis for assistive technologies, such as screen readers.
Fork - MDN Web Docs Glossary: Definitions of Web-related terms
this is now a more popular term thanks to contribution model using git (and/or the github platform).
Google Chrome - MDN Web Docs Glossary: Definitions of Web-related terms
note that the ios version of chrome uses that platform's webview, not blink.
HTML5 - MDN Web Docs Glossary: Definitions of Web-related terms
the latest stable release of html, html5 takes html from a simple markup for structuring a document to a full app development platform.
Java - MDN Web Docs Glossary: Definitions of Web-related terms
the jvm is available across many platforms, which allows java programs to run almost everywhere without the need to be compiled or packaged again.
JavaScript - MDN Web Docs Glossary: Definitions of Web-related terms
recently, javascript's popularity has expanded even further through the successful node.js platform—the most popular cross-platform javascript runtime environment outside the browser.
Node.js - MDN Web Docs Glossary: Definitions of Web-related terms
node.js is a cross-platform javascript runtime environment that allows developers to build server-side and network applications with javascript.
OpenGL - MDN Web Docs Glossary: Definitions of Web-related terms
opengl (open graphics library) is a cross-language, multi-platform application programming interface (api) for rendering 2d and 3d vector graphics.
PDF - MDN Web Docs Glossary: Definitions of Web-related terms
pdf (portable document format) is a file format used to share documentation without depending on any particular software implementation, hardware platform, or operating system.
Specification - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge specification on wikipedia technical reference open web platform specifications ...
Accessibility - Learn web development
mobile accessibility with web access on mobile devices being so popular, and popular platforms such as ios and android having fully-fledged accessibility tools, it is important to consider the accessibility of your web content on these platforms.
Debugging CSS - Learn web development
how to access browser devtools the article what are browser developer tools is an up-to-date guide explaining how to access the tools in various browsers and platforms.
Supporting older browsers - Learn web development
this site lists the majority of web platform features with information about their browser support status.
How can we design for all types of users? - Learn web development
imageoptim (mac), optipng (all platforms), pngcrush (dos, unix/linux) online tools.
What HTML features promote accessibility? - Learn web development
the exact key combination varies by platform.
How much does it cost to do something on the Web? - Learn web development
if you want to install an (s)ftp client, there are several reliable and free options: for example, filezilla for all platforms, winscp for windows, cyberduck for mac or windows, and more.
Client-side form validation - Learn web development
the difficult part is to make it generic enough to use both cross-platform and on any form you might create.
Publishing your website - Learn web development
google app engine is a powerful platform that lets you build and run applications on google’s infrastructure — whether you need to build a multi-tiered web application from scratch or host a static website.
The web and web standards - Learn web development
it'll take you a few months to really start to get into it, and then you'll need to keep learning so that your knowledge stays up-to-date with all the new tools and features that appear on the web platform, and keep practicing and refining your craft.
Index - Learn web development
beginner, google app engine, google cloud platform, guide, host, learn, web, publish, website google app engine is a powerful platform that lets you build and run applications on google’s infrastructure — whether you need to build a multi-tiered web application from scratch or host a static website.
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
introduction for a long time, the web platform has offered javascript programmers a number of functions that allow them to asynchronously execute code after a certain time interval has elapsed, and to repeatedly execute a block of code asynchronously until you tell it to stop.
Drawing graphics - Learn web development
as you'll see below, canvas provides many useful tools for creating 2d animations, games, data visualizations, and other types of app, especially when combined with some of the other apis the web platform provides.
Fetching data from the server - Learn web development
fetch and promises, on the other hand, are a more recent addition to the web platform, although they're supported well across the browser landscape, with the exception of internet explorer.
Third-party APIs - Learn web development
for google apis in general, you need to create a google account and log into the google cloud platform console to create api keys, etc., and the process is fairly complex.
Web performance - Learn web development
mobile performance with web access on mobile devices being so popular, and all mobile platforms having fully-fledged web browsers, but possibly limited bandwidth, cpu and battery life, it is important to consider the performance of your web content on these platforms.
Server-side web frameworks - Learn web development
it is an opinionated view of the spring platform and third-party libraries but allows to start with minimum fuss and configuration.
Deployment and next steps - Learn web development
vercel is a cloud platform specifically tailored for static sites, which has out-of-the-box support for most common front-end tools, svelte being one of them.
Deploying our app - Learn web development
some deployment platforms will include a specific method for testing as part of their pipeline.
Chrome Worker Modules
d use the values that have been exported // assuming that mymodule.js is installed to resource://gre/modules/mymodule.js let module = require("resource://gre/modules/mymodule.js") foo(module.key); // module.key == "this is public"; // however, secretkey is not exported and cannot be used for the installation of resources, please see the documentation on moz.build (if your code is part of the platform) or on chrome manifests (if your code is part of an add-on).
Accessibility Information for Core Gecko Developers
mozilla accessibility architecture this document explains how we implement the cross-platform accessibility layer in mozilla.
Embedding API for Accessibility
in part, being accessible means supporting a built-in accessibility apis for a platform, such as microsoft active accessibility or atk for linux and unix desktops.
Information for External Developers Dealing with Accessibility
accessibility api cross reference should be helpful at anyone looking at implementing accessibility api support for a product on multiple platforms.
Software accessibility: Where are we today?
that said, there is still an important role for adaptive technology vendors in creating special services and hardware, or even proprietary software on platforms where that is appropriate.
Frequently Asked Questions for Lightweight themes
this includes mac, linux, windows, and android platforms.
Creating reftest-based unit tests
keep in mind new tests should fit a 600x600 window so we can test on mobile platforms easier.
Debugging OpenGL
note: you can download debug builds from mozilla taskcluster — click an appropriate platform's debug build on the left, e.g.
Debugging on Mac OS X
select the "cross-platform" tab then under the "other" template group select the "empty" project type.
HTTP logging
here is an example for the windows platform, on other platforms we accept the same form of the arguments: if firefox is already running, exit out of it.
Building Firefox with Debug Symbols
use the following mozconfig settings to do a build with symbols: building firefox with symbols there is a single configure option to enable building with symbols on all platforms.
Old Thunderbird build
searched the bug database for issues relating to your problem (e.g., platform-specific issues).
Simple Instantbird build
have you searched the bug database for issues relating to your problem (e.g., platform-specific issues)?
Simple Thunderbird build
searched the bug database for issues relating to your problem (e.g., platform-specific issues).
Eclipse CDT
files compiled only on other platforms) and that therefore have no build output parser data associated with them.
Interface development guide
xpcom interfaces define classes that are implemented to provide key functionality in the mozilla platform.
Working with Mozilla source code
try servers mozilla products build on at least three platforms.
Experimental features in Firefox
these nightly builds of firefox typically include experimental or partially-implemented features, including those for proposed or cutting-edge web platform standards.
Multiple Firefox profiles
from profile manager inside firefox if you already have firefox instance running, you can open another profile from the integrated profile manager on any platform: type about:profiles into the browser url search bar.
Limitations of chrome scripts
however, if an add-on passes a cpow into a platform api, and that platform api then attempts an unsafe operation on it, this will throw an exception.
Firefox and the "about" protocol
here is a complete list of urls in the about: pseudo protocol: about: page description about:about provides an overview of all about: pages available for your current firefox version about:addons add-ons manager about:buildconfig displays the configuration and platform used to build firefox about:cache displays information about the memory, disk, and appcache about:checkerboard switches to the checkerboarding measurement page, which allows to detect checkerboarding issues about:config provides a way to inspect and change firefox preferences and settings about:compat lists overriding site compatability fixes, linke...
Firefox
firefox is mozilla's popular web browser, available for multiple platforms including windows, macos, and linux on the desktop and all android and ios mobile devices.
mozbrowserloadend
non-standard this feature is not on a current w3c standards track, but it is supported on the firefox os platform.
Overview of Mozilla embedding APIs
on most platforms this involves displaying a native print dialog box.
Embedding Tips
for example, the default prompt service uses xul to render prompt dialogs and embedders may wish to render them in a way more appropriate for their application and platform..
Roll your own browser: An embedding how-to
camino: a project aimed at delivering a best-of-breed browser on the mac os x platform.
How to add a build-time test
(example to run the testcookie program) in the test program: if the test fails, exit with a non-zero status and/or print the string "fail" to stdout if the test passes, exit with a zero status and don't print the string "fail" (bonus points for printing "pass" :) ) write the test so that you expect it to pass on all platforms, since if the test fails, the tree will go orange (once we've set this up - see bug 352240 for status).
How to Report a Hung Firefox
the steps to induce a crash are slightly different on each platform: windows on windows, the stability team has written a utility which will inject a crash into firefox which will trigger the crash reporter: download crashfirefox.exe here (source code).
Implementing QueryInterface
in general, i disapprove of macros except in cases where the macro must expand to different text in different situations, e.g., different platforms, debugging vs.
DownloadLastDir.jsm
when history is cleared when the user's browsing history is cleared, the value of the last download directory path is restored to the platform's default download directory path.
Downloads.jsm
the downloads.jsm javascript code module provides a single entry point to interact with the downloading capabilities of the platform, including starting new downloads, controlling ongoing downloads, and retrieving download-related configuration.
JavaScript OS
platform and add-ons) to interact with the host operating system.
Log.jsm
until stabilized, expect frequent updates, including different interfaces and behavior in different versions of the platform.
openLocationLastURL.jsm
this component has been removed from the platform in firefox 29.
source-editor.jsm
this component has been removed from the platform in firefox 28.
JavaScript code modules
downloads.jsm provides a single entry point to interact with the downloading capabilities of the platform.
Bootstrapping a new locale
it will be just like working on hg with mozilla, yet you will use the bit bucket platform to start.
Mozilla Framework Based on Templates (MFBT)
(the <stdint.h> standard header is not available on all platforms and so cannot be used directly.
Basics
there are links to more samples, screenshots and instructions on how to download fonts for various platforms.
Updates
june 5, 2002 mozilla 1.0 released "by virtue of embedding gecko, mozilla 1.0 and products based on mozilla code support more web standards, more deeply, more consistently across more platforms than any others.
MathML Accessibility in Mozilla
this table below provides a list of mathml constructions and how they are read in mozilla applications for various platforms: windows: mathml support is provided by nvda, which actually delegates math reading to the proprietary mathplayer plugin.
Mozilla DOM Hacking Guide
make sure it builds on all platforms!
Mozilla Web Developer FAQ
contrary to a popular belief stemming from the behavior of a couple browsers running on the windows platform, alt isn’t an abbreviation for ‘tooltip’ but for ‘alternative’.
Mozilla projects on GitHub
kitsune kitsune is the platform that drives the mozilla support web site, sumo.
Are We Slim Yet
this allowed us to run measurements on all branches and platforms.
Activity Monitor, Battery Status Menu and top
task_power_info::task_platform_idle_wakeups obtained from the task_info function.) in mac os 10.10 it appears to have been changed to measure interrupt-level wakeups (a superset of idle wakeups), which are less interesting.
BloatView
myclass,myotherclass,deliberatelyleakedclass mach mochitest [options] test harness scripts typically accept a --setenv option for specifying environment variables, which may be more convenient in some cases: mach mochitest --setenv=xpcom_mem_log_classes=myclass [options] for getting allocation stacks in automation, you can add the appropriate --setenv options to the test configurations for the platforms you're interested in.
DMD
some platforms (linux, mac, android) require stack fixing, which adds missing filename, function name and line number information.
JS::PerfMeasurement
we also can't guarantee that all platforms will support all event types, once we have more than one back end for this interface.
Memory reporting
on platforms that allow it, they count the actual memory in use, including "slop" bytes caused by the heap allocator rounding up request sizes (a.k.a.
Power profiling overview
alternatively, here is an explanation of how one developer diagnosed two animation-related problems the hard way (which required genuine platform expertise).
Reporting a Performance Problem
make sure to choose an appropriate setting for the recording (if you're not sure, choose firefox platform), and then choosing "start recording".
TraceMalloc
this example is for macos; small modifications are needed for other platforms.
A brief guide to Mozilla preferences
they are: default preference files firefox ships default preferences in several files, all in the application 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.
Emscripten
emscripten makes native code immediately available on the web: a platform that is standards-based, has numerous independent compatible implementations, and runs everywhere from pcs to ipads.
NSPR build instructions
--enable-64bit on a dual 32-bit/64-bit platform, nspr build generates a 32-bit build by default.
NSPR release procedure
the repackage.sh script repackages the jar files into the form most commonly used on that platform.
Atomic Operations
atomic operations functions the api defined for the atomic functions is consistent across all supported platforms.
IPC Semaphores
nspr provides an interprocess communication mechanism using a counting semaphore model similar to that which is provided in unix and windows platforms.
NSPR Error Handling
pr_operation_not_supported_erro the requested operation is not supported by the platform.
PRHostEnt
note winsock.h defines h_addrtype and h_length as a 16-bit field, whereas other platforms treat it as a 32-bit field.
PRInt16
guaranteed to be a signed 16-bit integer on all platforms.
PRInt8
guaranteed to be a signed 8-bit integer on all platforms.
PRNetAddr
(note that prnetaddr does not have the length field that is present in struct sockaddr_in on some unix platforms.) the macros pr_af_inet, pr_af_inet6, pr_inaddr_any, pr_inaddr_loopback are defined if prio.h is included.
PRThreadPriority
however, because of the multiple strategies nspr uses to implement threading on various host platforms, nspr priorities are not precisely defined.
PRUint16
guaranteed to be an unsigned 16-bit integer on all platforms.
PRUint8
guaranteed to be an unsigned 8-bit integer on all platforms.
PR_Available
pr_available does not work with pipes on win32 platforms.
PR_Available64
pr_available does not work with pipes on win32 platforms.
PR_GetError
returns the current thread's last set platform-independent error code.
PR_LoadLibrary
syntax #include <prlink.h> prlibrary* pr_loadlibrary(const char *name); parameters the function has this parameter: name a platform-dependent character array that names the library to be loaded, as returned by pr_getlibraryname.
PR_Poll
cross-platform applications should only set the fd field to a pointer to a prfiledesc object representing a socket or a pollable event because on windows the select function can only be used with sockets.
NSPR API Reference
pr_insert_before pr_insert_after dynamic library linking library linking types prlibrary prstaticlinktable library linking functions pr_setlibrarypath pr_getlibrarypath pr_getlibraryname pr_freelibraryname pr_loadlibrary pr_unloadlibrary pr_findsymbol pr_findsymbolandlibrary finding symbols defined in the main executable program platform notes dynamic library search path exporting symbols from the main executable program process management and interprocess communication process management types and constants prprocess prprocessattr process management functions setting the attributes of a new process creating and managing processes multiwait receive system information and enviro...
Running NSPR tests
until the test failures are fixed, you should run nspr tests against a known good version of nspr on the same platform, and save the test results as the benchmark.
An overview of NSS Internals
in order to support multiple operating systems (os), it is based on a cross platform portability layer, called the netscape portable runtime (nspr), which provides cross platform application programming interfaces (apis) for os specific apis like file system access, memory management, network communication, and multithreaded programming.
Building NSS
because nss is a cross-platform library that builds on many different platforms and has many options, it may be complex to build.
NSS Code Coverage
nss - code coverage results link 2007-08-14 - solaris/sparc platform results explanation files results from every c file are on new line.
4.3.1 Release Notes
platform information you can check out the source from cvs by cvs co -r jss_4_3_1_rtm jss jss 4.3.1 works with jdk versions 4 or higher we suggest the latest.
4.3 Release Notes
platform information jss 4.3 works with jdk versions 4 or higher we suggest the latest.
Build instructions for JSS 4.3.x
note, on windows platforms it is best to have java_home set to a directory path that doest not have spaces.
JSS 4.4.0 Release Notes
bugs fixed in jss 4.4.0 this bugzilla query returns all the bugs fixed in nss 4.4.0: https://bugzilla.mozilla.org/buglist.cgi?product=jss&target_milestone=4.4&target_milestone=4.4&bug_status=resolved&resolution=fixed documentation build instructions for jss at https://hg.mozilla.org/projects/jss/file/tip/readme platform information you can check out the source from mercurial via hg clone -r 055aa3ce8a61 https://hg.mozilla.org/projects/jss jss 4.4.0 works with openjdk versions 1.7 or higher we suggest the latest - openjdk 1.8.
NSS_3.11.10_release_notes.html
go to the subdirectory for your platform, dbg (debug) or opt (optimized), to get the tar.gz or zip file.
NSS_3.12.1_release_notes.html
go to the subdirectory for your platform, dbg (debug) or opt (optimized), to get the tar.gz or zip file.
NSS_3.12.2_release_notes.html
go to the subdirectory for your platform, dbg (debug) or opt (optimized), to get the tar.gz or zip file.
NSS 3.12.4 release notes
bug 321755: implement crldistributionpoint extension in libpkix bug 391434: avoid multiple encoding/decoding of pkix_pl_oid to and from ascii string bug 405297: problems building nss/lib/ckfw/capi/ with mingw gcc bug 420991: libpkix returns wrong nss error code bug 427135: add super-h (sh3,4) architecture support bug 431958: improve des and sha512 for x86_64 platform bug 433791: win16 support should be deleted from nss bug 449332: secu_parsecommandline does not validate its inputs bug 453735: when using cert9 (sqlite3) db, set or change master password fails bug 463544: warning: passing enum* for an int* argument in pkix_validate.c bug 469588: coverity errors reported for softoken bug 470055: pkix_httpcertstore_findsocketconnection reuses closed socket bug 47...
NSS 3.12.9 release notes
freebl bug 607058: crash [@ nss_cms_decoder_work_data] bug 613394: november/december 2010 batch of nss root ca changes bug 610843: need way to recover softoken in child after fork() bug 617492: add pk11_keygenwithtemplate function to pk11wrap (for firefox sync) bug 610162: sha-512 and sha-384 hashes are incorrect for inputs of 512mb or larger when running under windows and other 32-bit platforms (fx 3.6.12 and 4.0b6) bug 518551: vfychain crashes in pkits tests.
NSS 3.24 release notes
add a shared library (libfreeblpriv3) on linux platforms that define freebl_lowhash.
NSS 3.36.6 release notes
this is a patch release to fix cve-2018-12404 bugs fixed in nss 3.36.6 bug 1485864 - cache side-channel variant of the bleichenbacher attack (cve-2018-12404) bug 1389967 and bug 1448748 - fixes for mingw on x64 platforms.
NSS 3.37.3 release notes
bugs fixed in nss 3.37.3 bug 1459739 - fix build on armv6/armv7 and other platforms.
NSS 3.49 release notes
bug 1606025 - remove -wmaybe-uninitialized warning in sslsnce.c bug 1606119 - fix ppc hw crypto build failure bug 1605545 - memory leak in pk11install_platform_generate bug 1602288 - fix build failure due to missing posix signal.h bug 1588714 - implement checkarmsupport for win64/aarch64 bug 1585189 - nss database uses 3des instead of aes to encrypt db entries bug 1603257 - fix ubsan issue in softoken ckm_nss_chacha20_ctr initialization bug 1590001 - additional hrr tests (cve-2019-17023) bug 1600144 - treat clienthello with message_seq of 1 as a s...
NSS 3.55 release notes
known issues on some platforms, using the makefile builds fails to locate seccomon.h; ensure you are using make all rather than just make.
NSS sources building testing
the subdirectories dbm, security/dbm, security/coreconf, security/nss were part of the nss sources.) the nss directory contains the following important subdirectories: nss/coreconf contains knowledge for cross platform building.
PKCS11 FAQ
MozillaProjectsNSSPKCS11FAQ
yes, the token is call softokn3 (softokn3.dll on windows, libsoftokn3.so on most unix platforms).
Installation guide
nspr: libnspr4.so libplds4.so libplc4.so nss: (note the use of * for libfreebl -- some platforms have multiple ones) libfreebl*3.so libfreebl*3.chk libsoftokn3.so libsoftokn3.chk libnss3.so libsmime3.so libssl3.so libnssckbi.so ...
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).
NSS Tools
eliminate use of getopt() and replace with nspr calls to get command options (to eliminate platform dependencies with getopt()).
NSS Tools certutil
availability see the release notes for the platforms this tool is available on.
NSS Tools crlutil
availability see the release notes for the platforms this tool is available on.
NSS Tools pk12util
availability see the release notes for the platforms this tool is available on.
NSS tools : signtool
to avoid problems, escape the quotation mark using the escape conventions for your platform.
The Necko HTTP module
http logging this document describes how to enable http logging for various platforms.
Necko
necko is a network library that provides a platform-independent api for several layers of networking, ranging from transport to presentation layers.
Rhino overview
rhino contains all the features of javascript 1.7 allows direct scripting of java a javascript shell for executing javascript scripts a javascript compiler to transform javascript source files into java class files a javascript debugger for scripts executed with rhino language the javascript language itself is standardized by standard ecma-262 ecmascript: a general purpose, cross-platform programming language.
Rebranding SpiderMonkey (1.8.5)
it also allows these instructions to apply to a wide range platforms without introducing more software dependencies.
Creating JavaScript tests
even tests that check for polynomial time complexity will start to fail in a few years when they have sped up enough to run faster than the granularity of the os scheduler or when run on platforms with higher latencies than your development workstation.
Getting SpiderMonkey source code
ollowing urls: http://ftp.mozilla.org/pub/spidermonkey/releases/ http://ftp.mozilla.org/pub/spidermonkey/prereleases/ here is a command-line example of downloading and unzipping spidermonkey source code version 59.0: mkdir mozilla cd mozilla wget http://ftp.mozilla.org/pub/spidermonkey/prereleases/59/pre1/mozjs-59.0a1.0.tar.bz2 tar xvf mozjs-59.0a1.0.tar.bz2 these commands should work on most platforms including windows, as long as on windows you are using the mozillabuild bash shell.
Hacking Tips
using rr on a test get the command line for your test run using -s: ./jit_test.py -s $js_shell saved-stacks/async.js insert 'rr' before the shell invocation: rr $js_shell -f $js_src/jit-test/lib/prolog.js --js-cache $js_src/jit-test/.js-cache -e "const platform='linux2'; const libdir='$js_src/jit-test/lib/'; const scriptdir='$js_src/jit-test/tests/saved-stacks/'" -f $js_src/jit-test/tests/saved-stacks/async.js (note that the above is an example; simply setting js_shell and js_src will not work).
Introduction to the JavaScript shell
to get the spidermonkey javascript shell, see the spidermonkey build documentation or download a compiled binary for your platform from the nightly builds.
JS::CompileOptions
the web platform allows scripts to be loaded from arbitrary cross-origin sources.
JSErrorReport
ismuted bool the web platform allows scripts to be loaded from arbitrary cross-origin sources.
jsdouble
implementation note: spidermonkey has had several bugs involving details of floating-point arithmetic on various platforms.
jsint
intn and uintn are integer types the same size as the platform's native int type.
Profiling SpiderMonkey
when we have js scriptable profiling options available for all tier 1 platforms, we'll look at adding global start/stop profiling functions.
SpiderMonkey 52
platform support migrating to spidermonkey 52 new javascript language features new c++ apis deleted apis api changes known issues ...
Running Automated JavaScript Tests
the jstests test suite also includes some tests from web-platform-tests.
Setting up CDT to work on SpiderMonkey
choose the correct toolchain for your platform (i.e.
Handling Mozilla Security Bugs
background security vulnerabilities are different from other bugs, because their consequences are potentially so severe: users' private information (including financial information) could be exposed, users' data could be destroyed, and users' systems could be used as platforms for attacks on other systems.
Setting up an update server
<?xml version="1.0" encoding="utf-8"?> <updates> <update type="minor" displayversion="2000.0a1" appversion="2000.0a1" platformversion="2000.0a1" buildid="21181002100236"> <patch type="complete" url="http://127.0.0.1:8000/<mar name>" hashfunction="sha512" hashvalue="<hash>" size="<size>"/> </update> </updates> if you've downloaded the mar you're using, you'll find the sha512 value in a file called sha512sums in the root of the release directory on archive.mozilla.org for a release or beta build (you'll have t...
Gecko Roles
role_menubar represents the menu bar (positioned beneath the title bar of a window on most platforms or at the top of the screen on mac os x) from which menus are selected by the user.
XForms Accessibility
currently we have verified that xforms accessibility is working on the windows platform, and linux testing has not yet been done, although everything should work and is ready to be tested.
Accessibility API Implementation Details
we provide for them the support of these products on windows, linux/unix and os x platforms.at developmentthe accessibility of computer software has seen drastic improvements over the past two decades.
Life After XUL: Building Firefox Interfaces with HTML
background: discussion of how to replace xul is ongoing within the platform team.
XML Extras
the xml extras module is built by default on all platforms, and is included in the browser installers so it is available in the nightly builds.
Binary compatibility
effectively, it is a different platform.
How to build an XPCOM component in JavaScript
if you are looking for add-on sdk solution for xpcom javascript components then check out platform/xpcom module first.
Building the WebLock UI
the xpcom interfaces and tools you've used have been general, cross-platform, and available in the gecko runtime environment or in any gecko-based application after mozilla 1.2 (when the gre began to be used).
Creating the Component Code
xpinstall, the cross-platform installation technology that mozilla uses to install the browser and other components, is one such alternative.
Preface
xpcom stands for the cross platform component object model.
Using XPCOM Components
xpcom makes it easy to use components like cookiemanager from mozilla's cross platform front end (xpfe) and other user interfaces, but the component itself doesn't provide its own ui.
Mozilla internal string guide
nowadays, all supported platforms have 16-bit literals using u""_ns, so we longer need to rely on macros for portability.
How to build a binary XPCOM component using Visual Studio
xpcom is mozilla’s cross platform component object model, similar to microsoft’s com technology.
Introduction to XPCOM for the DOM
xpidl xpidl stands for cross-platform interface definition language.
Components.utils.import
if your code is meant to work on all platforms, you should always provide a scope.
Community
activestate python xpcom bindings mailing list discussion of the bindings between the python language and the xpcom (cross-platform com) technology from the mozilla project.
RbXPCOM
rbxpcom (ruby cross-platform com) provides bindings between the popular ruby programming language and xpcom.
Language bindings
pyxpcom is actively used in activestate komodo products, for example.rbxpcomrbxpcom (ruby cross-platform com) provides bindings between the popular ruby programming language and xpcom.
NS_NewLocalFile
« xpcom api reference summary the ns_newlocalfile function creates an instance of nsilocalfile that provides a platform independent representation of a file path.
NS_NewNativeLocalFile
« xpcom api reference summary the ns_newnativelocalfile function creates an instance of nsilocalfile that provides a platform independent representation of a file path.
Core XPCOM functions
ns_newlocalfilethe ns_newlocalfile function creates an instance of nsilocalfile that provides a platform independent representation of a file path.ns_newnativelocalfilethe ns_newnativelocalfile function creates an instance of nsilocalfile that provides a platform independent representation of a file path.ns_reallocreallocates a block of memory using the xpcom memory manager.ns_shutdownxpcomthe ns_shutdownxpcom function terminates use of xpcom in the calling process.nsresultthe nsresult data type is ...
KeyboardShortcut
the modifier may be affected by user and platform preferences.
Role
the values depend on platform because of variations.
nsIAccessibleHyperLink
accessible/public/nsiaccessiblehyperlink.idlscriptable a cross-platform interface that supports hyperlink-specific properties and methods.
nsIAccessibleRole
accessible/public/nsiaccessiblerole.idlscriptable this interface defines cross platform (gecko) roles.
nsIApplicationUpdateService
application updates might be disabled by the application and the platform the application is running on.
nsIBidiKeyboard
more info: bug 348724, bug 348724, and gnome bug: 116626 mac only islangrtl is supported on this platform.
nsIBinaryInputStream
this might be used, for example, to implement network protocols or to read from architecture-neutral disk files, that is ones that can be read and written by both big-endian and little-endian platforms.
nsIBinaryOutputStream
this might be used, for example, to implement network protocols or to produce architecture-neutral binary disk files, that is ones that can be read and written by both big-endian and little-endian platforms.
nsICategoryManager
fhasuservalue(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.
nsIClipboard
forcedatatoclipboard() obsolete since gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) some platforms support deferred notification for putting data on the clipboard this method forces the data onto the clipboard in its various formats this may be used if the application going away.
nsIComponentManager
function startup(params, areason) { if (services.vc.compare(services.appinfo.platformversion, "10.0") < 0) components.manager.addbootstrappedmanifestlocation(params.installpath); } function shutdown(params, areason) { if (services.vc.compare(services.appinfo.platformversion, "10.0") < 0) components.manager.removebootstrappedmanifestlocation(params.installpath); } ...
nsIDOMParser
parsing a string once you've created a domparser object, you can use its parsefromstring method to parse xml or html as described in the web platform documentation.
nsIDOMXULLabeledControlElement
on non-macintosh platforms, the character on the element's label matching the access key is underlined.
nsIDebug
assertion() shows an assertion and triggers optional behavior based on the xpcom_debug_break environment variable, defaulting to calling break() on windows and os/2 and warning on other platforms.
nsIDownloadManager
defaultdownloadsdirectory nsilocalfile returns the platform default downloads directory.
nsIExternalHelperAppService
uriloader/exthandler/nsiexternalhelperappservice.idlscriptable the external helper app service is used for finding and launching platform specific external applications for a given mime content type.
nsIExternalProtocolService
uriloader/exthandler/nsiexternalprotocolservice.idlscriptable the external protocol service is used for finding and launching web handlers (a la registerprotocolhandler in the html5 draft) or platform-specific applications for handling particular protocols.
nsIExternalURLHandlerService
uriloader/exthandler/nsiexternalurlhandlerservice.idlscriptable the external url handler service is used for finding platform-specific applications for handling particular urls.
nsIFileProtocolHandler
note: under some platforms this is a lossy conversion.
nsIMarkupDocumentViewer
bidisupport octet whether to use platform bidi support or mozilla's bidi support 1 - use mozilla's bidi support 2 - use the platform bidi support 3 - disable bidi support.
nsIMemory
islowmemory determine if we are in a low-memory situation (what constitutes low-memory is platform dependent).
nsIMemoryReporterManager
this reporter is special-cased because it is interesting, is available on all platforms, and returns a meaningful result on all common platforms.
nsIProcess
this value is only available after the process has started; in addition, some platforms may not offer this value at all.
nsIProtocolHandler
current versions of firefox assume that the uri has uri_loadable_by_anyone set, but this will not work starting with the mozilla 2 platform.
nsIScreen
this will only have an effect on platforms that support screen rotation.
nsIScreenManager
this pointer's definition is specific to the platform's native widget implementation, and is typically of the same type as ns_native_window.
nsIScriptError
timestamp long long elapsed time, in milliseconds, from a platform-specific zero time to the time the message was created.
nsIScriptError2
timestamp long long elapsed time, in milliseconds, from a platform-specific zero time to the time the message was created.
nsISmsService
hassupport() checks if the current platform has sms support.
nsIToolkitProfile
methods lock() locks the profile using platform-specific locking methods.
nsIURIFixup
fixup_flag_use_utf8 4 use utf-8 to encode the uri instead of the platform character set.
nsIUUIDGenerator
methods generateuuid() obtains a new uuid using appropriate platform-specific methods to obtain a nsid that can be considered to be globally unique.
nsIUpdate
platformversion astring the toolkit version of this update.
nsIVersionComparator
see here: nsixulappinfo components.utils.import("resource://gre/modules/services.jsm"); var curentbrowserversion = services.appinfo.platformversion; //example: '31.*' var comparetothisversion = '25.*'; var compareresult = services.vc.compare(curentbrowserversion, comparetothisversion); if (compareresult == -1) { //currentbrowserversion is less than '25.*' (comparetothisversion) } else if (compareresult == 0) { //currentbrowserversion is '25.*' (comparetothisversion) } else if (compareresult == 1) { //currentbrowserversio...
nsIXULRuntime
it may not be available on all platforms, especially unusual processor or compiler combinations.
nsIXULWindow
on some platforms, windows with a higher zlevel will be kept above windows with a lower zlevel.
XPCOM Interface Reference
this is a reference to the xpcom interfaces provided by the mozilla platform.
XPCOM reference
infothis data structure is used by ns_initxpcom3 to specify static xpcom modules.standard xpcom componentsthere are a number of components provided in the standard implementation of xpcom; these are as follows.xpcom glue classesthese "glue" classes are provided to make it easier to use xpcom from c++ code.xpcom interface referencethis is a reference to the xpcom interfaces provided by the mozilla platform.xpcom interface reference by groupingthis page lists the current (as of dec.
Performance
as of april 10, 2006, mozilla uses sqlite 3.3.4, but the latest precompiled version of the command line tools is not available for all platforms.
The Thread Manager
nsithread the nsithread interface encapsulates an operating system thread, providing easy cross-platform access to multithreading in your code.
Frequently Asked Questions
it's not in your code, or it's not on your platform, but there's an nscomptr on the line where the error is and you're suspicious.
Reference Manual
on every platform, this operation generates the exact same code, and takes the same time, as performing this operation on a raw xpcom interface pointer.
Using nsIDirectoryService
on platforms which use path environment variables, you will need to set one of these paths to the /bin directory.
Using the Gecko SDK
(ports of this guide are welcome.) a "frozen" interface or function is guaranteed to be supported by future versions of same major version of the platform.
XPCOM tasks
and if so, can we narrow it to only those platforms that need it?
Mozilla technologies
the xml extras module is built by default on all platforms, and is included in the browser installers so it is available in the nightly builds.xpcomxpcom is a cross platform component object model, similar to microsoft com.
The Valgrind Test Job
this job only runs on linux64, which is the platform best suited to running valgrind.
Testing Mozilla code
this job only runs on linux64, which is the platform best suited to running valgrind.
Mailnews and Mail code review requirements
for xpcshell tests, it has either passed on try or has been run locally on the appropriate platform(s).
Building a Thunderbird extension 1: introduction
it shares many of the technologies used by mozilla firefox, including javascript, the gecko layout engine, the xul xml user interface language and the xpcom cross-platform component object model.
Thunderbird
thunderbird is built on the same technical platform as the firefox web browser.
Toolkit version format
this format is used by the extension manager, software update, and other parts of the platform.
XPI
cross-platform installer module (xpi) is a zip file used to install packages, utilizing the xpinstall technology.
Zombie compartments
compartment(http://techcrunch.com/) compartment(http://www.facebook.com/plugins/like.php?...) compartment(https://plusone.google.com/_/+1/fastbutton?...) compartment(http://platform.twitter.com/widgets/...utton.html?...) compartment(http://cdn.at.atwola.com/_media/uac/tcode3.html) compartment(https://s-static.ak.fbcdn.net/connec..._proxy.php?...) compartment(http://ads.tw.adsonar.com/adserving/getads.jsp?...) (some of those compartment urls are long and have been truncated.) another thing to beware is each compartment is created for an origin (e.g.
Standard OS Libraries
// placeholder - example soon to come x11 x11 runs primarily on unix® and unix-like operating systems like linux, all of the bsd variants, sun solaris both native 32 and 64 bit support, solaris x86, mac os x (via darwin) as well as other platforms like os/2 and cygwin.
js-ctypes reference
other features error-handling js-ctypes supports both errno (on all platforms) and getlasterror (on windows platforms).
Memory - Plugins
for communicator 4.0 and later versions, this function is not necessary for the mac os platform; npn_memalloc now performs memory flushing internally.
Accessibility Inspector - Firefox Developer Tools
note: the exposed information is the same across all platforms — the inspector exposes gecko's accessibility tree, rather than information from the platform accessibility layer.
Introduction to DOM Inspector - Firefox Developer Tools
(note that there are bugs which prevent the flasher from dom inspector apis from working correctly on certain platforms.) if you inspect the main browser window, for example, and select nodes in the dom nodes viewer (other than the elements which have no visible ui as is the case with the endless list of script elements that are loaded into browser.xul), you will see the various parts of the browser interface being highlighted with a blinking red border.
Debugger.Memory - Firefox Developer Tools
this section covers some areas where firefox’s actual behavior deviates from what one might expect from the specified behavior of the web platform.
Flame Chart - Firefox Developer Tools
we can also see that two of the green markers are for selectionsort() and quicksort(), but we're also seeing calls to platform (gecko) code in between our calls to the sorting functions.
Settings - Firefox Developer Tools
keybindings choose the default codemirror keybindings or keybindings from one of several popular editors: vim emacs sublime text advanced settings show gecko platform data a setting to control whether or not profiles should include gecko platform symbols.
AudioContext.outputLatency - Web APIs
it varies depending on the platform and the available hardware.
CSSStyleSheet - Web APIs
as the stylesheet list cannot be modified directly, there's no useful way to create a new cssstylesheet object manually (although constructable stylesheet objects is coming to the web platform soon and is already supported in blink).
Crypto.getRandomValues() - Web APIs
user agents are instead urged to provide the best entropy they can when generating random numbers, using a well-defined, efficient pseudorandom number generator built into the user agent itself, but seeded with values taken from an external source of pseudorandom numbers, such as a platform-specific random number function, the unix /dev/urandom device, or other source of random or pseudorandom data.
DOMException - Web APIs
notallowederror the request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission (no legacy code value and constant name).
DataTransfer.dropEffect - Web APIs
how this is determined is platform specific, but typically the user can press modifier keys such as the alt key to adjust the desired action.
DocumentOrShadowRoot.activeElement - Web APIs
which elements are focusable varies depending on the platform and the browser's current configuration.
Introduction to the DOM - Web APIs
you can use this test page or create a similar one to test the dom interfaces you are interested in and see how they work on the browser platform.
Element: DOMMouseScroll event - Web APIs
note: if the platform's native mouse wheel events only provide scroll distance by pixels, or if the speed can be customized by the user, the value is computed using the line height of the nearest scrollable ancestor element of the event's target.
Element: MozMousePixelScroll event - Web APIs
if the platform's native mouse wheel events indicate the scroll distance in terms of lines or pages, the value of detail is computed using that value and the line height or page width/height of the nearest ancestor scrollable element that contains the target element.
Element: click event - Web APIs
this counter resets after a short interval without any clicks occurring; the specifics of how long that interval is may vary from browser to browser and across platforms.
Element - Web APIs
WebAPIElement
languages outside the realm of the web platform, like xul through the xulelement interface, also implement element.
Introduction to the File and Directory Entries API - Web APIs
the file and directory entries api interacts with other apis the file and directory entries api is designed to be used with other apis and elements on the web platform.
Using FormData Objects - Web APIs
using a formdata event a more recent addition to the platform than the formdata object is the formdata event — this is fired on an htmlformelement object after the entry list representing the form's data is constructed.
HTMLCanvasElement.getContext() - Web APIs
these implementations have either not reached test suite conformance, or the graphics drivers on the platform are not yet stable.
HTMLCanvasElement: webglcontextcreationerror event - Web APIs
this event has a webglcontextevent.statusmessage property, which can contain a platform dependent string with more information about the failure.
File drag and drop - Web APIs
this document describes how an application can accept one or more files that are dragged from the underlying platform's file manager and dropped on a web page.
IDBObjectStore.createIndex() - Web APIs
auto: the platform default locale will be used (may be changed by user agent settings.) null or undefined: if no locale is specified, normal javascript sorting will be used — not locale-aware.
Checking when a deadline is due - Web APIs
on mobile platforms you tend to get a numeric keypad for entering data, which is helpful.
Using IndexedDB - Web APIs
idbindex has also had new properties added to it to specify if it has a locale specified, and what it is: locale (returns the locale if any, or null if none is specified) and isautolocale (returns true if the index was created with an auto locale, meaning that the platform's default locale is used, false otherwise.) note: this feature is currently hidden behind a flag — to enable it and experiment, go to about:config and enable dom.indexeddb.experimental.
KeyboardEvent: code values - Web APIs
the following tables show what code values are used for each native scancode or virtual keycode on major platforms.
KeyboardEvent.key - Web APIs
WebAPIKeyboardEventkey
if the key is held down further and the key produces a character key, then the event continues to be emitted in a platform implementation dependent interval and the keyboardevent.repeat read only property is set to true.
MediaMetadata - Web APIs
the mediametadata interface of the the media session api provides allows a web page to provide rich media metadata for display in a platform ui.
MediaSession.setActionHandler() - Web APIs
this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circumstances.
MediaSession - Web APIs
properties metadata returns an instance of mediametadata which contains rich media metadata, for display in a platform ui.
Media Session action types - Web APIs
this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circumstances.
MediaSessionActionDetails.action - Web APIs
this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circumstances.
MediaSessionActionDetails - Web APIs
this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circumstances.
MediaStreamTrack.getCapabilities() - Web APIs
the getcapabilities() method of the mediastreamtrack interface returns a mediatrackcapabilities object which specifies the values or range of values which each constrainable property, based upon the platform and user agent.
MediaStreamTrack.getSettings() - Web APIs
note: the returned object identifies the current values of every constrainable property, including those which are platform defaults rather than having been expressly set by the site's code.
Media Source API - Web APIs
while there are other protocols available (such as http live streaming (hls)), dash has the most platform support.
Metadata.modificationTime - Web APIs
the read-only modificationtime property of the metadata interface is a date object which specifies the date and time the file system entry (or the data referenced by the entry) was last modified.a file system entry is considered to have been modified if the metadata or the contents of the referenced file (or directory, or whatever other kind of file system entry might exist on the platform in use) has changed.
Navigator.oscpu - Web APIs
WebAPINavigatoroscpu
linux output of uname -sm x.y refers to the version of the operating system example function osinfo() { alert(window.navigator.oscpu); } osinfo(); // alerts "windows nt 6.0" for example usage notes unless your code is privileged (chrome or at least has the universalbrowserread privilege), it may get the value of the general.oscpu.override preference instead of the true platform.
Navigator.requestMediaKeySystemAccess() - Web APIs
notsupportederror either the specified keysystem isn't supported by the platform or the browser, or none of the configurations specified by supportedconfigurations can be satisfied (if, for example, none of the codecs specified in contenttype are available).
NavigatorID.appVersion - Web APIs
example alert('your browser version is reported as ' + navigator.appversion); notes the window.navigator.useragent property may also contain the version number (for example "mozilla/5.0 (windows; u; win98; en-us; rv:0.9.2) gecko/20010725 netscape 6/6.1"), but you should be aware of how easy it is to change the user agent string and "spoof" other browsers, platforms, or user agents, and also how cavalier the browser vendor themselves are with these properties.
NavigatorID.userAgent - Web APIs
gecko-based browsers comply with the following general structure: useragent = appcodename/appversion number (platform; security; os-or-cpu; localization; rv: revision-version-number) product/productsub application-name application-name-version example alert(window.navigator.useragent) // alerts "mozilla/5.0 (windows; u; win98; en-us; rv:0.9.2) gecko/20010725 netscape6/6.1" specifications specification status comment html living standardthe definition of 'navigatorid.useragent...
NavigatorID - Web APIs
navigatorid.platform read only returns either the empty string or a string representing the platform the browser is running on.
Notification - Web APIs
these notifications' appearance and specific functionality vary across platforms but generally they provide a way to asynchronously provide information to the user.
NotificationAction - Web APIs
these buttons' appearance and specific functionality vary across platforms but generally they provide a way to asynchronously show actions to the user in a notification.
OffscreenCanvas.getContext() - Web APIs
these implementations have not reached test suite conformance, or the graphic drivers situation on the platform is not yet stable.
Using the Payment Request API - Web APIs
the payment request api provides a browser-based method of connecting users and their preferred payment systems and platforms to merchants that they want to pay for goods and services.
Performance API - Web APIs
since a platform's system clock is subject to various skews (such as ntp adjustments), the interfaces support a monotonic clock i.e.
PublicKeyCredential - Web APIs
publickeycredential.isuserverifyingplatformauthenticatoravailable()secure context a static method returning a promise which resolves to true if an authenticator bound to the platform is capable of verifying the user.
PublicKeyCredentialCreationOptions - Web APIs
e_alg_ecdsa_w_sha256, }], // timeout after 1 minute timeout: 60000, // do not send the authenticator's origin attestation attestation: "none", extensions: { uvm: true, exts: true }, // filter out authenticators which are bound to the device authenticatorselection:{ authenticatorattachment: "cross-platform", requireresidentkey: true, userverification: "preferred" }, // exclude already existing credentials for the user excludecredentials: [ { type: "public-key", // the id for john.doe@example.com id : new uint8array(26) /* this actually is given by the server */ }, { type: "publ...
RTCIceTransportState - Web APIs
every user agent and platform may have its own scenarios that can trigger the "disconnected" state.
Request.context - Web APIs
WebAPIRequestcontext
note: you can find a full list of the different available contexts including associated context frame types, csp directives, and platform feature examples in the fetch spec request context section.
Resize Observer API - Web APIs
it provides a javascript solution to the often-discussed lack of element queries in the web platform.
Selection.modify() - Web APIs
WebAPISelectionmodify
note: starting in gecko 5.0, the "word" granularity no longer includes the following space, regardless of the default platform behavior.
Sensor APIs - Web APIs
the sensor apis are a set of interfaces built to a common design that expose device sensors in a consistent way to the web platform.
Using Service Workers - Web APIs
chrome canary: go to chrome://flags and turn on experimental-web-platform-features; restart browser (note that some features are now enabled by default in chrome.) opera: go to opera://flags and enable support for serviceworker; restart browser.
Service Worker API - Web APIs
in the future, service workers will be able to do a number of other useful things for the web platform that will bring it closer towards native app viability.
SourceBuffer.appendBufferAsync() - Web APIs
this is being experimented with under the auspices of the web platform incubator community group (wicg).
SpeechSynthesisUtterance.pitch - Web APIs
it can range between 0 (lowest) and 2 (highest), with 1 being the default pitch for the current platform or voice.
SpeechSynthesisUtterance.rate - Web APIs
it can range between 0.1 (lowest) and 10 (highest), with 1 being the default pitch for the current platform or voice, which should correspond to a normal speaking rate.
Streams API concepts - Web APIs
the streams api adds a very useful set of tools to the web platform, providing objects allowing javascript to programmatically access streams of data received over the network and process them as desired by the developer.
TransformStream - Web APIs
this is intended as a polyfill for unsupported platforms.
WakeLock.request() - Web APIs
WebAPIWakeLockrequest
user agent could not acquire platform's wake lock.
WebGLContextEvent.statusMessage - Web APIs
examples the statusmessage property can contain a platform dependent string with details of an event.
WebGLRenderingContext.enableVertexAttribArray() - Web APIs
some vertex attribute indices may have predefined purposes, depending on the platform and/or the gpu.
WebGL best practices - Web APIs
while the common approach is to set canvas.width = width * devicepixelratio, this will cause moire artifacts with non-integer values of devicepixelratio, as is common with ui scaling on windows, as well as zooming on all platforms.
WebGL: 2D and 3D graphics for the web - Web APIs
WebAPIWebGL API
webgl stats a site with statistics about webgl capabilities in browsers on different platforms.
The WebSocket API (WebSockets) - Web APIs
guides writing websocket client applications writing websocket servers writing a websocket server in c# writing a websocket server in java tools humblenet: a cross-platform networking library that works in the browser.
Fundamentals of WebXR - Web APIs
some platforms may provide previously-cleared frames to you, while others may optimize performance by not erasing the framebuffers in order to avoid having to touch each pixel twice per frame.
Lighting a WebXR setting - Web APIs
lighting estimation lighting estimation is a technique used by augmented reality platforms to attempt to match the lighting of the virtual objects in the scene to the lighting of the real world surrounding the viewer.
Targeting and hit detection - Web APIs
the details of how to work with an individual platform's ranging system is beyond the scope of this article.
Web audio spatialization basics - Web APIs
the panner node does some very involved maths under the hood; there are a number of tests here so you can keep track of the status of the inner workings of this node across different platforms.
Attestation and Assertion - Web APIs
tpm - the trusted platform module (tpm) is a set of specifications from the trusted platform group (tpg).
Functions and classes available to Web Workers - Web APIs
basic implementation (yes) appcodename, product, taintenabled(): 28 (28) online: 29 (29) navigatorlanguage: (yes) appname, appversion, online, platform, useragent: 10.0 other: no support (yes) (yes) xmlhttprequest creates and returns a new xmlhttprequest object; this mimics the behavior of the standard xmlhttprequest() constructor.
Window.devicePixelRatio - Web APIs
a value of 1 indicates a classic 96 dpi (76 dpi on some platforms) display, while a value of 2 is expected for hidpi/retina displays.
Window.frames - Web APIs
WebAPIWindowframes
for more details about the returned value, refer to this thread on mozilla.dev.platform.
WorkerGlobalScope.navigator - Web APIs
ivalent of self.console.log(self.navigator);, as these are being called on the worker scope, which can be referenced with workerglobalscope.self), you will get a workernavigator object written to the console — something like the following: object {online: true, useragent: "mozilla/5.0 (macintosh; intel mac os x 10_10_1) ap…ml, like gecko) chrome/40.0.2214.93 safari/537.36", product: "gecko", platform: "macintel", appversion: "5.0 (macintosh; intel mac os x 10_10_1) applewebki…ml, like gecko) chrome/40.0.2214.93 safari/537.36"…} appcodename: "mozilla" appname: "netscape" appversion: "5.0 (macintosh; intel mac os x 10_10_1) applewebkit/537.36 (khtml, like gecko) chrome/40.0.2214.93 safari/537.36" hardwareconcurrency: 4 online: true platform: "macintel" product: "...
WorkerNavigator - Web APIs
navigatorid.platform read only returns a string representing the platform of the browser.
XRBoundedReferenceSpace.boundsGeometry - Web APIs
as a general rule, with the origin for x and z located in or near the center of the space, and with the orientation set facing in a logical forward direction, as appropriate for the underlying platform or xr hardware.
XRInputSource.profiles - Web APIs
each string: has no spaces; instead, words are separated by hyphen ("-") characters if the platform makes it available, the usb vendor and product id may be provided but cannot be relied upon does not uniquely identify a specific device; rather, it identifies a configuration that the product is capable of using does not provide information about handedness of the device, if applicable the webxr input profiles registry is used by device developers and browser developers to attempt to ensure ...
XRInputSource.targetRayMode - Web APIs
the direction is determined using platform-specific rules, though if no such rules exist, the direction is chosen by assuming the user is pointing their index finger straight out from their hand.
XRInputSource - Web APIs
the device is specific to the platform being used, but provides the direction in which it is being aimed and optionally may generate events if the user triggers performs actions using the device.
XRPermissionDescriptor.optionalFeatures - Web APIs
the exact position depends on the underlying platform and implementation.
XRPermissionDescriptor.requiredFeatures - Web APIs
the exact position depends on the underlying platform and implementation.
XRPermissionStatus.granted - Web APIs
the exact position depends on the underlying platform and implementation.
XRReferenceSpace - Web APIs
the exact position depends on the underlying platform and implementation.
XRReferenceSpaceType - Web APIs
the exact position depends on the underlying platform and implementation.
XRSession.end() - Web APIs
WebAPIXRSessionend
return value a promise that resolves without a value after any platform-specific steps related to shutting down the session have completed.
XRSession.requestReferenceSpace() - Web APIs
the exact position depends on the underlying platform and implementation.
XRTargetRayMode - Web APIs
the direction is determined using platform-specific rules, though if no such rules exist, the direction is chosen by assuming the user is pointing their index finger straight out from their hand.
Browser Differences - Web APIs
browser differences netscape 7.x (all platforms) and internet explorer 6 (windows) support the w3c xslt 1.0 standard (http://www.w3.org/tr/xslt).
XSL Transformations in Mozilla FAQ - Web APIs
if you need platform dependent code or stylesheets, just do <xsl:if test="system-property('xsl:vendor')='transformiix'"> <!-- mozilla specific markup --> </xsl:if> <xsl:if test="system-property('xsl:vendor')='microsoft'"> <!-- ie specific markup --> </xsl:if> check system-properties.xml for the properties of your favorite system.
ARIA Screen Reader Implementors Guide - Accessibility
allow global settings to turn off the presentation of live changes, present all live changes, use markup, or be "smart" (use heuristics) details for processing via platform accessibility apis we hope browser manufacturers will work to provide consistent implementations.
An overview of accessible web applications and widgets - Accessibility
from here, conventions vary from platform to platform.
Operable - Accessibility
this is usually a dotted or blue outline by default (depending on browser, platform, etc.), but this can be overidden by css.
Accessibility
mobile accessibility with web access on mobile devices being so popular, and popular platforms such as ios and android having fully-fledged accessibility tools, it is important to consider the accessibility of your web content on these platforms.
:-moz-focusring - CSS: Cascading Style Sheets
whether the user agent has focus ring drawing enabled can depend on operating system settings and other factors, so the precise behavior of this pseudo-class will vary from platform to platform.
display-mode - CSS: Cascading Style Sheets
browser browser the application opens in a conventional browser tab or new window, depending on the browser and platform.
Replaced elements - CSS: Cascading Style Sheets
however, other form controls, including other types of <input> elements, are explicitly listed as non-replaced elements (the spec describes their default platform-specific rendering with the term "widgets").
animation-delay - CSS: Cascading Style Sheets
this bug affects only some platforms, such as windows.
<color> - CSS: Cascading Style Sheets
-moz-nativehyperlinktext default platform hyperlink color.
cursor - CSS: Cascading Style Sheets
WebCSScursor
default the platform-dependent default cursor.
font-family - CSS: Cascading Style Sheets
system-ui glyphs are taken from the default user interface font on a given platform.
outline-style - CSS: Cascading Style Sheets
formal definition initial valuenoneapplies toall elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax auto | <'border-style'> examples setting outline style to auto the auto value indicates a custom outline style — typically a style [that] is either a user interface default for the platform, or perhaps a style that is richer than can be described in detail in css, e.g.
scroll-behavior - CSS: Cascading Style Sheets
user agents should follow platform conventions, if any.
text-rendering - CSS: Cascading Style Sheets
in svg, when text is scaled up or down, browsers calculate the final size of the text (which is determined by the specified font size and the applied scale) and request a font of that computed size from the platform's font system.
Community - Developer guides
WebGuideAJAXCommunity
ajax resources ajax workshops and courses skillsmatter.com: courses and events on javascript, ajax, and reverse ajax technologies telerik.com: an active community forum for ajax community.tableau.com: community support forum and courses available for ajax codementor.io: social platform with ajax forums and tutorials lynda.com: tutorials available for learning the fundamentals of ajax ajax interview questions and answer and answerinterwiki links ...
WAI ARIA Live Regions/API Support - Developer guides
this information is retrieved differently on each platform, because some platforms use asynchronous events.
Audio and Video Delivery - Developer guides
consider this html: <video> <source id="mp4_src" src="video.mp4" type='video/mp4; codecs="avc1.42e01e, mp4a.40.2"'> </source> <source id="3gp_src" src="video.3gp" type='video/3gpp; codecs="mp4v.20.8, samr"'> </source> <source id="ogg_src" src="video.ogv" type='video/ogv; codecs="theora, vorbis"'> </source> </video> since firefox doesn't support mp4 and 3gp on some platforms due to their patent-encumbered nature, the <source> elements with the ids "mp4_src" and "3gp_src" will receive error events before the ogg resource is loaded.
DOM onevent handlers - Developer guides
the web platform provides several ways to be notified of dom events.
Event developer guide - Developer guides
WebGuideEvents
such events are commonly called synthetic events, as opposed to the events fired by the browser itself.dom on-event handlersthe web platform provides several ways to get notified of dom events.
A hybrid approach - Developer guides
approaches to mobile web development see the following articles for background and other approaches to developing for mobile platforms.
Separate sites for mobile and desktop - Developer guides
approaches to mobile web development see the following articles for background and other approaches to developing for mobile platforms.
Mobile Web Development - Developer guides
WebGuideMobile
this means testing on multiple platforms — at least ios and android.
Parsing and serializing XML - Developer guides
in this article, we'll look at the objects provided by the web platform to make the common tasks of serializing and parsing xml easy.
HTML attribute: accept - HTML: Hypertext Markup Language
the user can choose multiple files from the file picker in any way that their chosen platform allows (e.g.
HTML attribute: multiple - HTML: Hypertext Markup Language
the user can choose multiple files from the file picker in any way that their chosen platform allows (e.g.
<button>: The Button element - HTML: Hypertext Markup Language
WebHTMLElementbutton
by default, html buttons are presented in a style resembling the platform the user agent runs on, but you can change buttons’ appearance with css.
<figure>: The Figure with Optional Caption element - HTML: Hypertext Markup Language
WebHTMLElementfigure
code snippets <figure> <figcaption>get browser details using <code>navigator</code>.</figcaption> <pre> function navigatorexample() { var txt; txt = "browser codename: " + navigator.appcodename + "; "; txt+= "browser name: " + navigator.appname + "; "; txt+= "browser version: " + navigator.appversion + "; "; txt+= "cookies enabled: " + navigator.cookieenabled + "; "; txt+= "platform: " + navigator.platform + "; "; txt+= "user-agent header: " + navigator.useragent + "; "; console.log("navigatorexample", txt); } </pre> </figure> quotations <figure> <figcaption><cite>edsger dijkstra:</cite></figcaption> <blockquote>if debugging is the process of removing software bugs, then programming must be the process of putting them in.</blockquote> </figure> poems <...
<input type="file"> - HTML: Hypertext Markup Language
WebHTMLElementinputfile
the user can choose multiple files from the file picker in any way that their chosen platform allows (e.g.
<input type="password"> - HTML: Hypertext Markup Language
WebHTMLElementinputpassword
select all</button> javascript document.getelementbyid("selectall").onclick = function() { document.getelementbyid("userpassword").select(); } result you can also use selectionstart and selectionend to get (or set) what range of characters in the control are currently selected, and selectiondirection to know which direction selection occurred in (or will be extended in, depending on your platform; see its documentation for an explanation).
<input type="time"> - HTML: Hypertext Markup Language
WebHTMLElementinputtime
in general, otherwise, support is good — especially on mobile platforms, which tend to have very nice user interfaces for specifying a time value.
<input type="week"> - HTML: Hypertext Markup Language
WebHTMLElementinputweek
mobile platforms such as android and ios make really good use of such input types, providing specialist ui controls that make it really easy to select values in a touchscreen environment.
<link>: The External Resource Link element - HTML: Hypertext Markup Language
WebHTMLElementlink
for example, a link to the site's favicon: <link rel="icon" href="favicon.ico"> there are a number of other icon rel values, mainly used to indicate special icon types for use on various mobile platforms, e.g.: <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-icon-114.png" type="image/png"> the sizes attribute indicates the icon size, while the type contains the mime type of the resource being linked.
accesskey - HTML: Hypertext Markup Language
the way to activate the accesskey depends on the browser and its platform: windows linux mac firefox alt + shift + key on firefox 57 or newer: control + option + key or control + alt + key on firefox 14 or newer: control + alt + key on firefox 13 or older: control + key internet explorer alt + key alt + shift + key n/a edge n/a control + option + key control + option + shift + key ...
Global attributes - HTML: Hypertext Markup Language
it can take several values: a negative value means that the element should be focusable, but should not be reachable via sequential keyboard navigation; 0 means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention; a positive value means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the tabindex.
Using the application cache - HTML: Hypertext Markup Language
using this application cache feature is highly discouraged; it’s in the process of being removed from the web platform.
Resource URLs - HTTP
furthermore, some default values of preferences differ between build configurations, such as platform and locale, which means web sites could identify individual users using this information.
Browser detection using the user agent - HTTP
os the operating system is given in most user agent strings (although not web-focused platforms like firefox os), but the format varies a lot.
Feature-Policy: screen-wake-lock - HTTP
note: this api is still actively being developed and available only behind a flag on select browsers and platforms.
Feature-Policy: wake-lock - HTTP
note: this api is still actively being developed and available only behind a flag on select browsers and platforms.
Large-Allocation - HTTP
this page would be loaded in a new process due to a large-allocation header, however large-allocation process creation is disabled on non-win32 platforms.
Introduction - JavaScript
javascript is a cross-platform, object-oriented scripting language used to make webpages interactive (e.g., having complex animations, clickable buttons, popup menus, etc.).
Character classes - JavaScript
�сы в Стране чудес"; var regexpbmpword = /([\u0000-\u0019\u0021-\uffff])+/gu; // bmp goes through u+0000 to u+ffff but space is u+0020 console.table(nonenglishtext.match(regexpbmpword)); [ 'Приключения', 'Алисы', 'в', 'Стране', 'чудес' ] note for mdn editors: please do not try to add funny examples with emoji as those characters are not handled by the platform (kuma).
JavaScript technologies overview - JavaScript
the core of the dom the document object model (dom) is a cross-platform, language-independent convention for representing and interacting with objects in html, xhtml and xml documents.
JavaScript language resources - JavaScript
language specification ecma-262 9th edition pdf, html, working draft, repository 2018 ecmascript 2018 language specification ecma-402 5th edition working draft, repository 2018 ecmascript 2018 internationalization api specification obsolete/historical editions ecma-262 pdf june 1997 ecmascript: a general purpose, cross-platform programming language.
Array.prototype.copyWithin() - JavaScript
3, 1, 2] [1, 2, 3, 4, 5].copywithin(0, 3) // [4, 5, 3, 4, 5] [1, 2, 3, 4, 5].copywithin(0, 3, 4) // [4, 2, 3, 4, 5] [1, 2, 3, 4, 5].copywithin(-2, -3, -1) // [1, 2, 3, 3, 4] [].copywithin.call({length: 5, 3: 1}, 0, 3) // {0: 1, 3: 1, length: 5} // es2015 typed arrays are subclasses of array var i32a = new int32array([1, 2, 3, 4, 5]) i32a.copywithin(0, 2) // int32array [3, 4, 5, 4, 5] // on platforms that are not yet es2015 compliant: [].copywithin.call(new int32array([1, 2, 3, 4, 5]), 0, 3, 4); // int32array [4, 2, 3, 4, 5] specifications specification ecmascript (ecma-262)the definition of 'array.prototype.copywithin' in that specification.
BigInt64Array() constructor - JavaScript
the bigint64array() typed array constructor creates a new bigint64array object, which is, an array of 64-bit signed integers in the platform byte order.
BigInt64Array - JavaScript
the bigint64array typed array represents an array of 64-bit signed integers in the platform byte order.
BigUint64Array() constructor - JavaScript
the biguint64array() typed array constructor creates a new biguint64array object, which is, an array of 64-bit unsigned integers in the platform byte order.
BigUint64Array - JavaScript
the biguint64array typed array represents an array of 64-bit unsigned integers in the platform byte order.
Date() constructor - JavaScript
creates a javascript date instance that represents a single moment in time in a platform-independent format.
Date.prototype.toUTCString() - JavaScript
jan, feb, ...) yyyy year, as four or more digits with leading zeroes if required hh hour, as two digits with leading zero if required mm minute, as two digits with leading zero if required ss seconds, as two digits with leading zero if required prior to ecmascript 2018, the format of the return value varied according to the platform.
Date - JavaScript
javascript date objects represent a single moment in time in a platform-independent format.
Float32Array() constructor - JavaScript
the float32array() typed array constructor creates a new float32array object, which is, an array of 32-bit floating point numbers (corresponding to the c float data type) in the platform byte order.
Float32Array - JavaScript
the float32array typed array represents an array of 32-bit floating point numbers (corresponding to the c float data type) in the platform byte order.
Float64Array() constructor - JavaScript
the float64array() typed array constructor creates a new float64array object, which is, an array of 64-bit floating point numbers (corresponding to the c double data type) in the platform byte order.
Float64Array - JavaScript
the float64array typed array represents an array of 64-bit floating point numbers (corresponding to the c double data type) in the platform byte order.
Int16Array() constructor - JavaScript
the int16array() typed array constructor creates an array of twos-complement 16-bit signed integers in the platform byte order.
Int16Array - JavaScript
the int16array typed array represents an array of twos-complement 16-bit signed integers in the platform byte order.
Int32Array() constructor - JavaScript
the int32array() typed array constructor creates an array of twos-complement 32-bit signed integers in the platform byte order.
Int32Array - JavaScript
the int32array typed array represents an array of twos-complement 32-bit signed integers in the platform byte order.
Promise.any() - JavaScript
the promise.any() method is experimental and not fully supported by all browsers and platforms.
SharedArrayBuffer() constructor - JavaScript
chrome re-enabled it in v67 on platforms where its site-isolation feature is enabled to protect against spectre-style vulnerabilities.
Uint16Array - JavaScript
the uint16array typed array represents an array of 16-bit unsigned integers in the platform byte order.
Uint32Array() constructor - JavaScript
the uint32array() typed array constructor creates an array of 32-bit unsigned integers in the platform byte order.
Uint32Array - JavaScript
the uint32array typed array represents an array of 32-bit unsigned integers in the platform byte order.
globalThis - JavaScript
examples search for the global across environments prior to globalthis, the only reliable cross-platform way to get the global object for an environment was function('return this')().
typeof - JavaScript
null was represented as the null pointer (0x00 in most platforms).
for...of - JavaScript
s object to examine all of the parameters passed into a javascript function: (function() { for (const argument of arguments) { console.log(argument); } })(1, 2, 3); // 1 // 2 // 3 iterating over a dom collection iterating over dom collections like nodelist: the following example adds a read class to paragraphs that are direct descendants of an article: // note: this will only work in platforms that have // implemented nodelist.prototype[symbol.iterator] const articleparagraphs = document.queryselectorall('article > p'); for (const paragraph of articleparagraphs) { paragraph.classlist.add('read'); } closing iterators in for...of loops, abrupt iteration termination can be caused by break, throw or return.
display - Web app manifests
browser browser the application opens in a conventional browser tab or new window, depending on the browser and platform.
Web app manifests
creen96.png", "sizes": "96x96", "type": "image/png" }, { "src": "images/touch/homescreen144.png", "sizes": "144x144", "type": "image/png" }, { "src": "images/touch/homescreen168.png", "sizes": "168x168", "type": "image/png" }, { "src": "images/touch/homescreen192.png", "sizes": "192x192", "type": "image/png" }], "related_applications": [{ "platform": "play", "url": "https://play.google.com/store/apps/details?id=cheeaun.hackerweb" }] } deploying a manifest web app manifests are deployed in your html pages using a <link> element in the <head> of a document: <link rel="manifest" href="/manifest.webmanifest"> note: the .webmanifest extension is specified in the media type registration section of the specification (the response of the...
Guide to streaming audio and video - Web media technologies
https live streaming https live streaming (hls) is a protocol developed by apple and supported by safari on all of their platforms.
Add to Home screen - Progressive web apps (PWAs)
a2hs on desktop while originally intended to improve user experience on mobile oses, there is movement to make pwas installable on desktop platforms too.
PWA developer guide - Progressive web apps (PWAs)
reating a web app from an existing site description advanced topics pushing data from the server to your web application some description resource management description integration with the host device description security and privacy description gaming topics for web app developers description polishing web apps web api equivalents for common native apis some description platform-specific tips and issues description web application performance guide description ensuring a good user experience description related topics some topic some description ...
Progressive loading - Progressive web apps (PWAs)
remember about the progressive enhancement approach — offer a usable product no matter the device or platform, but be sure to enrich the experience to those using modern browsers.
How to make PWAs re-engageable using Notifications and Push - Progressive web apps (PWAs)
the technology is still at a very early stage — some working examples use the google cloud messaging platform, but are being rewritten to support vapid (voluntary application identification), which offers an extra layer of security for your app.
Progressive web apps (PWAs)
progressive web apps are web apps that use emerging web browser apis and features along with traditional progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications.
SVG as an Image - SVG: Scalable Vector Graphics
platform-native widget styling (based on os theme) is disabled.
Insecure passwords - Web security
if you are using a cloud platform, it may have its own ways of enabling https.
Features restricted to secure contexts - Web security
this reference lists the web platform features available only in secure contexts — see secure contexts for a definition and more details.
Web security
features restricted to secure contexts this reference lists the web platform features available only in secure contexts.
XML introduction - XML: Extensible Markup Language
most importantly, since the fundamental format of xml is standardized, if you share or transmit xml across systems or platforms, either locally or over the internet, the recipient can still parse the data due to the standardized xml syntax.
Index - WebAssembly
12 webassembly concepts c, c++, emscripten, javascript, webassembly, concepts, rust, text format, web platform this article has given you an explanation of what webassembly is, why it is so useful, how it fits into the web, and how you can make use of it.