Search completed in 2.02 seconds.
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 2 more matches
OS.File for the main thread
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.
... winshare (ignored under non-windows
platforms) if specified, a sharing policy, as per windows function createfile.
...And 11 more matches
Game distribution - Game development
you don't need to have separate teams to work on the same title targeting different
platforms with only one code base to worry about.
...you can put your html5 games into the same arena (see native desktop, later on) and you should because it's good to diversify the
platforms you support, but you have to remember that developers creating desktop games have years of experience, great tools and stable distribution channels.
... saying this, desktop
platforms can be used for distribution quite easily with the availability of wrappers that can help you prepare native builds of your game see packaging games.
...And 10 more matches
Index
because nss is a cross-platform library that builds on many different
platforms and has many options, it may be complex to build.
...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 { equ...
...multiple
platforms can be defined in a single install file.
...And 7 more matches
The Joy of XUL - Archive of obsolete content
considering the broad range of
platforms that currently support mozilla, this may be one of the most compelling features of xul as a technology for building applications.
...the user interface for all of mozilla's core applications (browser, messenger, address book, etc.) is written in xul with one single code base supporting all mozilla
platforms.
... porting xul applications to other
platforms is trivial.the calendar originated as a linux application with no consideration given to porting it to other
platforms.
...And 6 more matches
NSS tools : modutil
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 fi...
...multiple
platforms can be defined in a single install file.
... forwardcompatible { irix:6.2:mips sunos:5.5.1:sparc }
platforms { winnt::x86 { modulename { "example 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 { relativepath { %temp%/setup.cab } } } } win95::x86 { equivalentplatform {winnt::x86} } sunos:5.5.1:sparc { modulename { "example 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/...
...And 6 more matches
NSS tools : modutil
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 { equ...
...multiple
platforms can be defined in a single install file.
... forwardcompatible { irix:6.2:mips sunos:5.5.1:sparc }
platforms { winnt::x86 { modulename { "example 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 { relativepath { %temp%/setup.cab } } } } win95::x86 { equivalentplatform {winnt::x86} } sunos:5.5.1:sparc { modulename { "example unix module" } modulefile { unix/fort.so } defaultmechanismflags{0x0001} cipherenableflags{0x0001} files { ...
...And 6 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.
...builtins and calls when passing arguments to lirwriter::inscall(), there are four types: argsize_f - floating point value argsize_i - 32-bit integer argsize_q - 64-bit integer argsize_p - 32-bit integer on 32-bit
platforms, 64-bit integer on 64-bit
platforms.
...And 6 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 { relati...
...this section discusses the following keys: global keysper-platform keysper-file keys global keys forwardcompatible gives a list of
platforms that are forward compatible.
... if the current platform cannot be found in the list of supported
platforms, then the forwardcompatible list is checked for any
platforms that have the same os and architecture in an earlier version.
...And 5 more matches
Index
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.
... 543 spidermonkey 1.8.8 spidermonkey spidermonkey 1.8.8 is supported on all the
platforms where firefox insert-actual-firefox-version-number-here runs.
...And 5 more matches
Mozilla Application Framework in Detail - Archive of obsolete content
customized xul applications with significant business logic can be written once, and used on the range of
platforms that exist within the organization.
... the gecko rendering engine gecko is the revolutionary rendering engine that offers advanced features for internet browsing anywhere across applications, computing
platforms and devices.
...small, fast and standards compliant, gecko is easily embeddable across
platforms in browsers, desktop applications and browsing devices and delivers full-functionality browsing to them all.
...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
nsIFile
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.
... persistentdescriptor acstring on some
platforms, the value of nsifile.path may be insufficient to uniquely identify the file on the local file system.
...there are problems that affect
platforms on which a path does not fully specify a file because two volumes can have the same name (for example mac).
...And 4 more matches
Index - Archive of obsolete content
found 3833 pages: # page tags and summary 1 archive of obsolete content archive, landing here at mdn, we try to avoid outright deleting content that might be useful to people targeting legacy
platforms, operating systems, and browsers.
... 565 mozprocess mozprocess provides python process management via an operating system and platform transparent interface to mozilla
platforms of interest.
... 606 porting nspr to unix
platforms nspr last modified 16 july 1998 607 priority content update: i've removed documents from this list that have been migrated into the wiki.
...And 3 more matches
Mozilla release FAQ - Archive of obsolete content
regarding compilation options, it would be good not to compile with optimization, because it's much slower to build, and on windows
platforms, there's a bug in some versions of vc++ that makes mozilla crash in many common circumstances if compiled with optimization on.
... what
platforms have had successful builds so far?
... this list will be updated with time, but (according to netscape.public.mozilla.general) the following
platforms have been built successfully: solaris 2.4, 2.5, 2.6 freebsd 2.2, 3.0 linux/intel and alpha 2.0, 2.1 macos winnt 4.0 irix 5.3, 6.2, 6.3, 6.4 win95, win98 digital unix 4.0 netbsd openbsd bsdi hp/ux 9.05, 10.20, 11.0 (see 2.7) hurd .03 dg/ux mac os x i'm *still* having problems getting mozilla to build on my platform!
...And 3 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 3 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 (thunde...
...rbird and seamonkey) under each of those two directories, there is a themes directory containing 4 sub-directories: shared linux osx windows the shared directories contain styles shared across all 3
platforms, while the other 3 directories contain styles respective to their platform.
...theme css the following directories also contain css: browser/base/content/ toolkit/content/ these directories contain content css, that applies on all
platforms, which is styling deemed to be essential for the browser to behave correctly.
...And 3 more matches
IME handling guide
this is a technical term from windows but these days, this is used on other
platforms as well.
...additionally, ime may be used for handwriting systems or speech input systems on some
platforms.
... on some
platforms, ime may support its own style for each clause.
...And 3 more matches
Named Shared Memory
some
platforms may mangle the name before creating the file and the shared memory.
... limits on shared memory resources different
platforms have limits on both the number and size of shared memory resources.
... the default system limits on some
platforms may be smaller than your requirements.
...And 3 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
Gecko FAQ - Gecko Redirect 1
gecko is reusable on all
platforms thanks to xpcom, a subset of com that works across
platforms.
... com, developed by digital and later adopted by microsoft, is the de facto standard for modular interfaces on windows
platforms.
... additionally, on the windows platform, gecko's xpcom interfaces are wrapped in an activex control that vb developers can utilize (activex wrappers are not available on other
platforms because activex is a windows-only technology).
...And 2 more matches
Introduction to Network Security Services
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.
... these hp and solaris
platforms allow programs that use the ilp32 program model to run on both 32-bit cpus and 64-bit cpus.
... these two extra shared libraries are not supplied on any other
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
Key Values - Web APIs
corresponding virtual keycodes for common
platforms are included where available.
... appcommand_undo gdk_key_undo (0xff65) [1] on keyboards without a dedicated del key, the mac generates the "delete" value when fn is pressed in tandem with delete (which is backspace on other
platforms).
...there are other keys defined by various
platforms for korean keyboards, but these are the most common and are the ones identified by the ui events specification.
...And 2 more matches
Source code directories overview - Archive of obsolete content
there are also platform dependent subdirectories which contain source code for specific
platforms.
...the "c" runtime library contains basic non-visual c functions to allocate and deallocate memory, get the time and date, read and write files, handle threads and handling and compare strings across all
platforms.
... webshell contains c interfaces, c code, linux shell scripts and other files for embedding mozilla in other programs on various different
platforms in various different ways (e.g.
...the event loop for all
platforms).
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.
...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.
...the getfolder api provides you with enough "syntactic sugar" to determine other locations on the user's computer on different
platforms and os's.
... a single install.js is often capable of running on many different
platforms.
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.
JavaScript OS.Constants
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.
... exdev cross-device link opening files unix access rights defined on all
platforms but meaningful only on unix.
...os.constants.win is undefined on non-windows
platforms.
Optimizing Applications For NSPR
netscape portable runtime (nspr) tries to provide a consistent level of service across the
platforms it supports.
... nspr uses timer signals to implement thread preemption for local threads on some
platforms.
... interrupting threads (via <tt>pr_interrupt()</tt>) on threads blocked in i/o functions is implemented to various degrees on different
platforms.
... the unix based
platforms all implement the function though there may be up to a 5 second delay in processing the request.
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.
NSS FAQ
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.
... other contributors are in the process of certifying additional
platforms.
... binary builds of nss for several
platforms including the command-line tools can be downloaded from http://ftp.mozilla.org/pub/mozilla.o...y/nss/releases/.
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.
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++...
... note:
platforms this is not an exhaustive list of possible cpu architectures and compiler abis.
Xptcall Porting Guide
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.
...porters can decide how best to do this for their
platforms.
... // return a refcounted pointer to the interfaceinfo for this object // note: on some
platforms this must not fail or we crash!
ctypes
similar to errno in libc, available on all
platforms.
... predefined data types primitive types these types behave the same on all
platforms.
... note this automatically converts to an int64 javascript object on all
platforms, since it's unknown whether this is a 32-bit or 64-bit value.
... note this automatically converts to a uint64 javascript object on all
platforms, since it's unknown whether this is a 32-bit or 64-bit value.
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.
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.
...it is generally used as a least common denominator to ensure that browsers can achieve an audio connection regardless of
platforms and browsers, or as a fallback option in general.
... power needs and battery life another factor to consider—especially on mobile
platforms—is the impact a codec may have on battery life.
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.
Special per-platform menu considerations - Archive of obsolete content
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.
... here is an example: <menubar> <menu label="tools"> <menupopup> <menuitem label="spell check"/> <menuitem id="menu_preferences" label="preferences" oncommand="window.opendialog('options.xul', '_new', 'chrome');"/> </menupopup> </menu> </menubar> this menu item will be placed on the application menu on the macintosh but left in the tools menu on other
platforms.
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.
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.
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 t...
...ree 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').
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 th...
... $ make cppflags=-davmplus_verbose windows mobile to build for arm: $ python ../configure.py --target=arm-windows --enable-shell; make to build for thumb: $ python ../configure.py --target=thumb-windows --enable-shell; make platform-specific builds project files for specific
platforms/ides (microsoft visual studio, xcode, etc) are included in the source tree under tamarin-tracing/platform, but are not formally supported.
...builders: which
platforms will be compiled and tested.
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.
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.
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.
Gecko Profiler FAQ
is it better to profile across multiple
platforms, or to focus time on windows (since that's the bulk of our users)?
... [ehsan] that being said, we do see a lot of windows-specific issues that you will not find on other
platforms, for example sometimes code calls into a windows api that requires loading a dll the first time you call it that takes 10s of milliseconds to finish, etc.
... and when you get to the platform specific parts of the browser stack (such as graphics, media, etc.) then profiling on windows would be certainly a lot more valuable than on other
platforms.
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 or...
... 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 ?
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.
NSPR Contributor Guide
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.
... if several
platforms cannot be made to implement your api, then it is not a good candidate for inclusion in nspr.
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.
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.
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.
AT APIs Support
we provide for them the support of these products on windows, linux/unix and os x
platforms.
...this is done to ensure a common look and feel across all supported
platforms, and to allow for different skins (appearances).
...however it's preferable to grab the current build of firefox or any other gecko-based product to be up to dated: firefox recent builds thunderbird recent builds seamonkey recent builds determining if accessibility is enabled in a firefox accessibility is enabled on windows and linux
platforms by default.
xptcall FAQ
this all works and is being used in mozilla today on numerous
platforms.
...non-functional stub code exists to allow building xptcall on non-supported
platforms.
... what
platforms are supported?
Plug-in Basics - Plugins
in general, the operation of all api functions is the same on all
platforms.
...although plug-ins are platform-specific, the plug-in api is designed to provide the maximum degree of flexibility and to be functionally consistent across all
platforms.
... this guide notes platform-specific differences in coding for the ms windows, mac os x, and unix
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.
Index - Web APIs
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.
...the api is designed to be compatible with existing notification systems, across different
platforms.
File I/O - Archive of obsolete content
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.
Running applications - Archive of obsolete content
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!
Structure of an installable bundle - Archive of obsolete content
instead, you need to use manifest flags, such as the os and abi flags, in your chrome manifest to specify components that should be loaded for specific
platforms.
... in some cases a single extension or application may wish to include binary component or plugins for multiple
platforms, or theme authors might want to include multiple platform-specific jar files.
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.
Creating a Help Content Pack - Archive of obsolete content
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.
...if this attribute is omitted, the information in the data sources applies to all
platforms.
Menu - Archive of obsolete content
on some
platforms this character is underlined in the label.
...fancy separators may behave differently on different
platforms, however.
Mozilla Application Framework - Archive of obsolete content
tinderbox our 24/7 build and test webtool that constantly builds, tests, and reports on the mozilla application suite on multiple
platforms so you can see the state of the application at any given point in time.
... mozilla has been ported to more than a dozen
platforms including windows (95, 98, nt, 2000, xp, ce), mac os x, linux, solaris, beos, openvms, os/2, aix, and hp-ux.
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.
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.
icon - Archive of obsolete content
some
platforms display these buttons with a small icon indicating their usage.
...see the appearance of the different icons on some available
platforms.
Introduction to XUL - Archive of obsolete content
ui designers will be able to create ui descriptions which will work on multiple
platforms.
... but proper ui descriptions which take into account various
platforms' differing ideas about proper placement of such things as dialog buttons will require some platform-specific work.
Menus - Archive of obsolete content
or, you could write code that handles multiple
platforms in different ways.
...on some
platforms, adding an access key will underline a letter in the menu label indicating the key to press.
button - Archive of obsolete content
some
platforms display these buttons with a small icon indicating their usage.
...see the appearance of the different icons on some available
platforms.
Archived Mozilla and build documentation - Archive of obsolete content
mozprocess mozprocess provides python process management via an operating system and platform transparent interface to mozilla
platforms of interest.
... 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.
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.
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.
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.
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.
Plug-in Development Overview - Gecko Plugin API Reference
for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different
platforms.
... building,
platforms, and compilers the header files and some basic examples for npapi plugins are found in the npapi-sdk project (google code).
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.
...these problems can be divided into three categories: the good some elements can be styled with few if any problems across
platforms.
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 automated testing - Learn web development
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.
... screenshots: enter a url, choose the browsers/devices/
platforms you are interested in, then press generate screenshots — browserstack will take screenshots of your site in all those different browsers then make them available to you to view and download.
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.
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.
...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.
Mozilla accessibility architecture
ase common implementations shared by html and xul implementations accessible/src/html/ document and html object implementations accessible/src/xul/ user interface and xul object implementations accessible/src/msaa/ windows implementations accessible/src/atk/ atk implementations, may eventually be used on
platforms other than linux and unix accessible/src/mac/ empty implementations of platform-specific classes for os x.
... accessible/src/other/ empty implementations of platform-specific classes so that builds don't fail on
platforms currently not-supported where we put toolkit-specific code because atk and msaa are different accessibility api toolkits which share only about 75% of their code, there is a lot of toolkit-specific code that needs to live somewhere.
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.
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.
About NSPR
history a good portion of the library's purpose, and perhaps the primary purpose in the gromit environment, was to provide the underpinnings of the java vm, more or less mapping the sys layer that sun defined for the porting of the java vm to various
platforms.
... where it's headed nspr is applicable as a platform on which to write threaded applications that need to be ported to multiple
platforms.
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).
... current status implemented across all supported
platforms.
Anonymous Shared Memory
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.
Introduction to NSPR
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.
NSPR Types
hs 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.
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.
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.
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.
Multithreading in Necko
dns thread (0-1) on most
platforms dns requests a processed on a background thread.
...in this way, necko takes advantage of the
platforms specific routines for dns lookups.
SpiderMonkey Build Documentation
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.
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.
Bundling multiple binary components
actually, nspr has portable versions of those features that work across
platforms.
... this approach uses one binary component for each version of gecko and platform, plus the stub loader component therefore, to support 2 gecko versions on three
platforms, you need seven components (6 real components + 1 stub).
Starting WebLock
the type of this variable is print64, but this type is not represented as a primitive on all
platforms.
... on some
platforms, print64 is a struct with two fields - a high and a low 32-bit integer.
nsIAlertsService
only available on supported
platforms.
...only available on supported
platforms.
nsIAppShell
on some
platforms this will be a no-op.
...on some
platforms (those that do not use any "additional methods") this will be a no-op.
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.
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).
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.
nsILocalFile
persistentdescriptor acstring on some
platforms, the value of nsifile.path may be insufficient to uniquely identify the file on the local file system.
...this routine only works on
platforms which support the ability to open a folder.
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.
Drawing and Event Handling - Plugins
this parameter is valid only for the unix and ms windows
platforms.
... event handling for windowless plug-ins on all
platforms, platform-specific events are passed to windowless plug-ins through the npp_handleevent method.
Plug-in Development Overview - Plugins
for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different
platforms.
... building,
platforms, and compilers the header files and some basic examples for npapi plugins are found in the npapi-sdk project (google code).
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); }); ...
KeyboardEvent.getModifierState() - Web APIs
ws 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.
...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.
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.
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.
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.
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.
Introduction to progressive web apps - Progressive web apps (PWAs)
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.
... re-engageability one major advantage of native
platforms is the ease with which users can be re-engaged by updates and new content, even when they aren't looking at the app or using their devices.
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.
...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.
WebAssembly Concepts - WebAssembly
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.
...mobile and other resource-constrained
platforms can further amplify these performance bottlenecks.
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, 'ch...
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.
Signing an XPI - Archive of obsolete content
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.
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.org...
Index of archived content - Archive of obsolete content
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 data...
List of Mozilla-Based Applications - Archive of obsolete content
software computer, easy and preinstalled” open mashups development tool openoffice.org office suite uses nss openswan implementation of ipsec for linux uses nss orca browser web browser gecko-based version of avant browser pale moon web browser optimized browser developed by moonchild productions for gnu/linux & windows
platforms, originally forked from firefox palo suite excel extension uses prism partygaming online gaming product uses gecko pencil tool for making diagrams and gui prototyping available as a firefox extension or a standalone app pentaho bi suite commercial open source business intelligence uses xul and mozilla rhino persevere tools fo...
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_di...
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.
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.
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 ...
Tamarin Build System Documentation - Archive of obsolete content
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?
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.
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.
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.
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.
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).
Gecko Compatibility Handbook - Archive of obsolete content
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-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.
NPAPI plugin developer guide - Archive of obsolete content
g 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...
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.
New in JavaScript 1.1 - Archive of obsolete content
isnan() now works on every platform (not only unix anymore) parsefloat() and parseint() now return nan on all
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.
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.
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.
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.
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.
Chrome registration
these packages contain three different sets of files, for windows and os/2, macintosh, and unix-like
platforms.
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.
Eclipse CDT
files compiled only on other
platforms) and that therefore have no build output parser data associated with them.
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.
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.
Gecko SDK
mac x86_64 download n/a n/a n/a n/a mac i386 download download download download n/a mac ppc n/a download download download download linux x86_64 download n/a n/a n/a n/a linux i686 download download download download download the sdk is not officially released for other
platforms; if you need it, you will probably need to build it yourself.
Gecko Keypress Event
there are also some differences between the
platforms, as described in the following sections.
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).
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.
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 Development Tools
it is our home-grown web-based tool for watching the progress of the continuous builds that we run on multiple
platforms.
Are We Slim Yet
this allowed us to run measurements on all branches and
platforms.
Build Metrics
lower is better here, especially on space-restricted
platforms like android.
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.
TraceMalloc
this example is for macos; small modifications are needed for other
platforms.
Atomic Operations
atomic operations functions the api defined for the atomic functions is consistent across all supported
platforms.
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.
IPC Semaphores
nspr provides an interprocess communication mechanism using a counting semaphore model similar to that which is provided in unix and windows
platforms.
Long Long (64-bit) Integers
64-bit integer types nspr provides two types to represent 64-bit integers: print64 pruint64 64-bit integer functions the api defined for the 64-bit integer functions is consistent across all supported
platforms.
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.
PRInt32
guaranteed to be a signed 32-bit integer on all
platforms.
PRInt64
guaranteed to be a signed 64-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.
PRUint32
guaranteed to be an unsigned 32-bit integer on all
platforms.
PRUint64
guaranteed to be an unsigned 64-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_EXTERN
warning: some
platforms do not allow the use of the underscore character (_) as the first character of an exported symbol.
PR_IMPLEMENT
warning: some
platforms do not allow the use of the underscore character (_) as the first character of an exported symbol.
PR_ReadDir
on windows
platforms and the mac os, this value identifies files with the "hidden" attribute set.
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 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.12_release_notes.html
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: need...
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.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.
PKCS11 FAQ
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 ...
modutil-tasks.html
a fix was made for "hpux b.11.00," but issues may still arise for
platforms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS_3.12.3_release_notes.html
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 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 modutil-tasks
a fix was made for "hpux b.11.00," but issues may still arise for
platforms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS Tools pk12util
availability see the release notes for the
platforms this tool is available on.
Network Security Services
get the source code and build it instructions on how to build nss on the different supported
platforms.
The Necko HTTP module
http logging this document describes how to enable http logging for various
platforms.
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.
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.
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.
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.
jsdouble
implementation note: spidermonkey has had several bugs involving details of floating-point arithmetic on various
platforms.
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.
Shell global objects
enablesinglestepprofiling() this function will fail on
platforms that don't support single-step profiling (currently everything but arm-simulator).
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.
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.
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.
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.
An Overview of XPCOM
but enabling exceptions and rtti may not be an option because of performance overhead and compatibility on many
platforms, so xpcom does things differently.
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.
Index
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.
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.
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.
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.
getFile
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).
nsIFilePicker
on some
platforms, this is automatically appended to filenames the user enters, if required.
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.
nsIScreen
this will only have an effect on
platforms that support screen rotation.
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.
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.
Storage
sqlite syntax query language understood by sqlite sqlite database browser is a capable free tool available for many
platforms.
Using nsIDirectoryService
on
platforms which use path environment variables, you will need to set one of these paths to the /bin directory.
XPCOM tasks
and if so, can we narrow it to only those
platforms that need it?
Xptcall Porting Status
he is hoping that others will help test the changes using these two compilers on the various
platforms where this same code is used.
XPCOM
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.
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.
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).
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.
Gecko Plugin API Reference - Plugins
g 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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
appearance (-moz-appearance, -webkit-appearance) - CSS: Cascading Style Sheets
ebkit-appearance: caret; } <div>lorem</div> firefox chrome safari edge checkbox-container div { color: black; -moz-appearance: checkbox-container; -webkit-appearance: checkbox-container; } <div>lorem</div> firefox the element is drawn like a container for a checkbox, which may include a prelighting background effect under certain
platforms.
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.
<link>: The External Resource Link element - HTML: Hypertext Markup Language
for example, a link to the site's favicon: <link rel="icon" href="favicon.ico"> there are a number of other icon rel values, mainly used to indicate special icon types for use on various mobile
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.
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.
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.
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.
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.