Search completed in 0.91 seconds.
about:debugging (before Firefox 68) - Firefox Developer Tools
the about:debugging page provides a single place from which you can attach the
firefox developer tools to a number of debugging targets.
... opening the about:debugging page there are several different ways to open about:debugging: type "about:debugging" in the
firefox url bar.
... this page enables you to do two things: load an add-on temporarily from disk connect the add-on debugger to any restartless add-ons connecting the add-on debugger the add-ons page in about:debugging lists all restartless add-ons that are currently installed (note that this list may include add-ons that came preinstalled with your
firefox).
...And 14 more matches
Debugging Firefox Desktop - Firefox Developer Tools
this guide explains how you can use the
firefox developer tools to debug a different instance of desktop
firefox running on the same machine.
... in this guide, the instance of
firefox being debugged is called the debuggee, and the instance of
firefox doing the debugging is called the debugger.
... run the debuggee from the command line, passing it the --start-debugger-server option: /path/to/
firefox --start-debugger-server passed with no arguments, --start-debugger-server makes the debugger server listen on port 6000.
...And 2 more matches
Index - Firefox Developer Tools
found 158 pages: # page tags and summary 1
firefox developer tools developing mozilla, guide, tools, web development, web development:tools, l10n:priority
firefox developer tools is a set of web developer tools built into
firefox.
... 4 color vision simulation accessibility, accessibility inspector, color blindness, devtools, guide, simulation, tools the simulator in the accessibility inspector in
firefox developer tools lets you see what a web page would look like to users with various forms of color vision deficiency (better known as "color blindness"), as well as contrast sensitivity loss.
... 5 add-ons web development, web development:tools developer tools that are not built into
firefox, but ship as separate add-ons.
...And 58 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
« previousnext » this document was authored by taiga (gomita) gomibuchi and was originally published in japanese for the
firefox developers conference summer 2007.
... gomita-san won "most useful upgraded extension" award in mozilla's 2006 "extend
firefox" competition for scrapbook, and was runner-up in the "extend
firefox 2" contest for firegestures.
... an easier method of building a
firefox/thunderbird addon for developers who are well-acquainted with ides like netbeans, eclipse, etc.
...And 42 more matches
Firefox user agent string reference - HTTP
this document describes the user agent string used in
firefox 4 and later and applications based on gecko 2.0 and later.
... for a breakdown of changes to the string in gecko 2.0, see final user agent string for
firefox 4 (blog post).
... general form the ua string of
firefox itself is broken down into four components: mozilla/5.0 (platform; rv:geckoversion) gecko/geckotrail
firefox/
firefoxversion mozilla/5.0 is the general token that says the browser is mozilla compatible, and is common to almost every browser today.
...And 34 more matches
Multiple Firefox profiles
a profile in
firefox is the collection of settings, customizations, add-ons, and other personalizations that a user has made or installed into their copy of
firefox.
... web developers might want a secondary profile for testing websites, apps, or other projects on different
firefox channels.
... for qa, testing, and bug triaging contributors, you may want to have multiple development versions of
firefox installed, each with its own profile.
...And 33 more matches
CSUN Firefox Materials
firefox 1.5, beyond the status quo "...
firefox is a great little browser.
... it's a quick download, occupies very little disk space, and has a clean, no-nonsense interface." - pc magazine
firefox 1.5 is a fast, free, standards compliant web browser which is rapidly gaining recognition for its fresh, streamlined approach to browsing the web.
... in addition to winning major awards such as pc world product of the year,
firefox has attracted a huge following among savvy users who simply care enough about their web browsing experience to download a new piece of software.
...And 26 more matches
Profiling with the Firefox Profiler
the
firefox profiler is a profiler that is built into
firefox and is available at profiler.
firefox.com.
... it has tighter integration with
firefox than external profilers, and has more of a platform focus than the devtools performance panel.
... using the
firefox profiler visit profiler.
firefox.com to get started.
...And 25 more matches
Theme changes in Firefox 2 - Archive of obsolete content
this article covers the changes that need to be made to update a
firefox theme to work properly in
firefox 2.
... note: we could use an article called updating themes for
firefox 2 that would serve as a how-to guide for updating themes.
... filename css file details browser/base/searchdialog.xul browser/base/content/searchdialog.css removed from
firefox 2.
...And 24 more matches
Web Console remoting - Firefox Developer Tools
this architecture allows you to connect a web console client instance to a server running on b2g, fennec or some other
firefox instance.
... the remote web console is a feature introduced in
firefox 18.
...this actor is used for the browser console implementation and for debugging remote
firefox/b2g instances.
...And 23 more matches
How to Report a Hung Firefox
if that's not you, or you just want to fix a
firefox hang without reporting it, see
firefox hangs or is not responding - how to fix.
... is your
firefox not responding?
... or are you regularly seeing the "
firefox is running but is not responding..." dialog?
...And 22 more matches
Common Firefox theme issues and solutions - Archive of obsolete content
operating system specific issues windows 7 windows 7 aero missing right-hand title bar buttons when tabs are on top and the menu bar is disabled,
firefox is missing the min/max/restore/close button on the right side of the title bar.
... please see the following threads on mozillazine for solutions to this issue: http://forums.mozillazine.org/viewtopic.php?f=18&t=2131121 http://forums.mozillazine.org/viewtopic.php?f=18&t=1953371&start=60 windows 7 aero not going into full screen mode properly on win7 with aero glass support
firefox doesn't always go to full screen mode from a normal window properly.
... @media all and (-moz-windows-compositor) { /* make transition to fullscreen mode seamlessly in
firefox 10+ */ #main-window[infullscreen="true"] { -moz-appearance: none; background-color: -moz-dialog!important; } } for more information about this issue please see bug 732757 and bug 732757 and this mozillazine thread.
...And 20 more matches
Repackaging Firefox - Archive of obsolete content
notice: the article is about repackaging
firefox 2.0 and is obsolete when working on 3.x repackaging.
...
firefox can be customized for the needs of a particular group of users (for example, your organization's employees or clients).
... because
firefox is designed from the ground up for extensibility and customization, this process is simple and easy to maintain.
...And 19 more matches
Accessibility Features in Firefox
assistive technology support on windows "i am a full
firefox convert with the release of 1.5.
... at my next opportunity, i intend to convert my family over to it too." darren paskell, from window-eyes beta testing list
firefox works with popular screen readers, with the best support currently coming from gw micro's window-eyes 5.5.
...in recent articles from both afb's access world and nfb's voice of the nation's blind, reviewers found no significant roadblocks in moving to
firefox from internet explorer for screen reader users.
...And 18 more matches
about:debugging - Firefox Developer Tools
the about:debugging page provides a single place from which you can attach the
firefox developer tools to a number of debugging targets.
... opening the about:debugging page there are two ways to open about:debugging: type about:debugging in the
firefox url bar.
... this
firefox provides information about temporary extensions you have loaded for debugging, extensions that are installed in
firefox, the tabs that you currently have open, and service workers running on
firefox.
...And 18 more matches
Creating a Firefox sidebar extension - Archive of obsolete content
a newer document is available: creating a
firefox sidebar this article describes how to create a registered sidebar for
firefox 2 or greater.
... introduction this article is a quick start for the creation of a new sidebar for
firefox.
...it's preferable you have some basic knowledge of how xul works and how
firefox handles extensions.
...And 17 more matches
Experimental features in Firefox
in order to test new features, mozilla publishes a test version of the
firefox browser,
firefox nightly, every day.
... these nightly builds of
firefox typically include experimental or partially-implemented features, including those for proposed or cutting-edge web platform standards.
... this page lists features that are in nightly versions of
firefox along with information on how to activate them, if necessary.
...And 12 more matches
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.
... with broad compatibility, the latest in web technologies, and powerful development tools,
firefox is a great choice for both web developers and end users.
...
firefox is an open source project; much of the code is contributed by our huge community of volunteers.
...And 11 more matches
Settings - Firefox Developer Tools
opening settings beginning with
firefox 62, the icon to open developer tools settings has been moved into a menu accessed by clicking/touching ...
...to see the settings, open any of the developer tools, and then: click the "settings" command in the menu: or press f1 to toggle between the active tool and the settings pane the settings pane looks something like this: categories default
firefox developer tools this group of checkboxes determines which tools are enabled in the toolbox.
... new tools are often included in
firefox but not enabled by default.
...And 11 more matches
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
« previous this document was authored by taro (btm) matsuzawa and was originally published in japanese for the
firefox developers conference summer 2007.
... matsuzawa-san is a co-author of
firefox 3 hacks (o'reilly japan, 2008.) this chapter discusses tools to assist in developing extensions.
... venkman, the javascript debugger venkman is a full-fledged javascript debugger that runs inside
firefox.
...And 10 more matches
Plugin Roadmap for Firefox - Plugins
plugins are a security and performance problem for
firefox users.
...to support the transition away from flash,
firefox is working with other browsers to progressively and carefully make flash usage less common.
... below is the roadmap of past and future support for plugins in
firefox.
...And 9 more matches
Deprecated tools - Firefox Developer Tools
scratchpad scratchpad is deprecated as of
firefox 70 (bug 1565380), and will be removed as of
firefox 72 (bug 1519103).
... alternatives in
firefox 71+, you can write multi-line javascript code in the web console editor mode, making it similar to the scratchpad.
... starting
firefox 72, you can import a javascript file content in the console input with ctrl + o (cmd + o on macos), as well as saving the console input content to a file using ctrl + s (cmd + s on macos).
...And 9 more matches
Developing for Firefox Mobile - Archive of obsolete content
see developing webextensions for
firefox for android to learn more about development of webextensions for
firefox for android.
...
firefox for android implements its ui using native android widgets instead of xul.
... with the add-on sdk you can develop add-ons that run on this new version of
firefox mobile as well as on the desktop version of
firefox.
...And 8 more matches
Getting Started with Firefox Extensions - Archive of obsolete content
« previousnext » what's a
firefox extension?
... extensions add new functionality to mozilla applications such as
firefox and thunderbird.
...this tutorial focuses on extensions for
firefox, but the same (or very similar) principles apply to creating extensions for other applications such as thunderbird, seamonkey, and flock.
...And 8 more matches
Network request list - Firefox Developer Tools
starting in
firefox 76 you can double-click a column divider to resize the column to the left of it to fit its contents.
... (starting in
firefox 80) on the right edge of the file column, a turtle icon appears if the server waiting time exceeds a threshhold (default: 500 ms).
...this is new in
firefox 55.
...And 8 more matches
Firefox Developer Tools
firefox developer tools is a set of web developer tools built into
firefox.
... this section contains detailed guides to all of the tools as well as information on how to debug
firefox for android, how to extend devtools, and how to debug the browser as a whole.
... the core tools you can open the
firefox developer tools from the menu by selecting tools > web developer > toggle tools or use the keyboard shortcut ctrl + shift + i or f12 on windows and linux, or cmd + opt + i on macos.
...And 8 more matches
Java in Firefox Extensions - Archive of obsolete content
if you are in need of calling java code from within a
firefox extension, you can make use of liveconnect.
... liveconnect gives your extension's javascript code (linked from or contained in xul code) access to 2 objects: java and packages (note that per this thread, although the new documentation for the liveconnect reimplementation states that these globals will be deprecated (in the context of applets), "
firefox and the java plug-in will continue to support the global java/packages keywords, in particular in the context of
firefox extensions.").
...if you wish to call java code from within javascript code that implements some xpcom components, at this time, you need a different technique (refer to the complete java
firefox extension).
...And 7 more matches
All keyboard shortcuts - Firefox Developer Tools
this page lists all keyboard shortcuts used by the developer tools built into
firefox.
...before
firefox 55, the keyboard shortcut was ctrl + shift + q (cmd + opt + q on a mac).
...starting in
firefox 71.
...And 7 more matches
Remotely debugging Firefox for Metro - Archive of obsolete content
this article explains how to use remote debugging to inspect and code running in the new windows 8 ("metro-style")
firefox app, using the developer tools in
firefox on the desktop.
... prerequisites you will need: windows 8 (metro-style)
firefox running in the touch-friendly "metro" mode on a windows 8 computer.
...
firefox running in classic "desktop" mode on windows, mac os x, or linux, either on a separate computer or in a separate profile on the same computer.
...And 6 more matches
Migrating from Firebug - Firefox Developer Tools
when migrating from firebug to the
firefox developer tools, you may wonder where the features you loved in firebug are available in the developer tools.
... for the latest developer tools and features, try
firefox developer edition.
... download
firefox developer edition general activation firebug's activation is url based respecting the same origin policy.
...And 6 more matches
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
download the latest version of
firefox and install it.
... extract theme while you can hypothetically begin with any theme already designed for
firefox, for the sake of consistency we'll speak as though everyone is editing the default
firefox theme.
... this is located in the file classic.jar found in the
firefox installation directory.
...And 5 more matches
Creating a Firefox sidebar
web publishers can offer visitors a
firefox sidebar to encourage their engagement.
... there are two ways to create a sidebar for
firefox users: the social api and an extension.
... an extension an extension is a kind of add-ons that adds new functionalities to
firefox.
...And 5 more matches
Firefox and the "about" protocol
there is a lot of useful information about
firefox hidden away behind the about: url protocol.
... available about: urls depend on your specific
firefox version.
... here is a complete list of urls in the about: pseudo protocol: about: page description about:about provides an overview of all about: pages available for your current
firefox version about:addons add-ons manager about:buildconfig displays the configuration and platform used to build
firefox about:cache displays information about the memory, disk, and appcache about:checkerboard switches to the checkerboarding measurement page, which allows to detect checkerboarding issues about:config provides a way to inspect and change
firefox preferences and settings about:compat lists overriding site compatability fixes, linked to specific bug issues.
...And 5 more matches
Firefox UI considerations for web developers
there are a number of places within the
firefox user interface where web sites are listed for the user to choose a destination to visit or a site to manage in some way.
... one example is the new tab page, which includes a "top sites" section showing sites you visit that
firefox thinks you're likely to want to visit again, as well as potentially some sites that have been pinned to always appear in that space.
...
firefox's top sites box in this article, we take a look at how to influence the appearance of your site in
firefox user interface elements such as the top sites box.
...And 5 more matches
Network request details - Firefox Developer Tools
the screenshots and descriptions in this section reflect
firefox 78.
...(there may be some exceptions, such as x-
firefox-spdy, which is added by
firefox.) you can copy some or all of the response header in json format by using the context menu: if you select copy, a single key word, value pair is copied.
...ess-global=11-jun-2019;https=1" }, { "name": "x-cache", "value": "cp1075 pass, cp1075 pass" }, { "name": "x-cache-status", "value": "pass" }, { "name": "x-client-ip", "value": "204.210.158.136" }, { "name": "x-content-type-options", "value": "nosniff" }, { "name": "x-
firefox-spdy", "value": "h2" }, { "name": "x-frame-options", "value": "sameorigin" }, { "name": "x-powered-by", "value": "hhvm/3.18.6-dev" }, { "name": "x-search-id", "value": "esvan0r5bnnwscyk2wq09i1im" }, { "name": "x-varnish", "value": "766019457, 417549316" } ] }, "req...
...And 5 more matches
Edit fonts - Firefox Developer Tools
this article provides a tour of the font tools available in the
firefox devtools.
... note: the updated font tools as shown in this article are available in
firefox 63 onwards; if you are using an older version of
firefox the tools will not look or behave quite the same, but they will be similar (most notably the font editor will not be available).
...in
firefox 61 and 62, this section does not exist.
...And 5 more matches
Firefox addons developer guide - Archive of obsolete content
there should be some introductory text on the table of contents page at https://developer.mozilla.org/en/
firefox_addons_developer_guide obviously there are a number of fixme items in the content that need dealing with, but those are already known.
... each chapter should be tagged appropriately, based on content, and every chapter should include the tag "
firefox addons developer guide".
... the stuff about installing the dom inspector (https://developer.mozilla.org/en/
firefox_addons_developer_guide/let%27s_build_a_
firefox_extension#install_the_dom_inspector) is not accurate for
firefox 3 or later, since it's no longer included in the
firefox installer and must be downloaded from amo.
...And 4 more matches
The Firefox codebase: CSS Guidelines
this document contains guidelines defining how css inside the
firefox codebase should be written, it is notably relevant for
firefox front-end engineers.
... 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 acros...
... colors for common areas of the
firefox interface (panels, toolbar buttons, etc.), mozilla-central often comes with some useful css variables that are adjusted with the correct values for different platform configurations, so using those css variables can definitively save some testing time, as you can assume they already work correctly.
...And 4 more matches
Browser Console - Firefox Developer Tools
to enable it set the devtools.chrome.enabled preference to true in about:config, or set the "enable browser chrome and add-on debugging toolboxes" (
firefox 40 and later) option in the developer tool settings.
... opening the browser console you can open the browser console in one of two ways: from the menu: select "browser console" from the web developer submenu in the
firefox menu (or tools menu if you display the menu bar or are on macos).
... you can also start the browser console by launching
firefox from the command line and passing the -jsconsole argument: /applications/
firefoxaurora.app/contents/macos/
firefox-bin -jsconsole the browser console looks like this: you can see that the browser console looks and behaves very much like the web console: most of the window is occupied by a pane that display messages.
...And 4 more matches
Toolbox - Firefox Developer Tools
the toolbox provides a single home for most of the developer tools that are built into
firefox.
... there are a few different ways to open the toolbox: select "toggle tools" from the web developer menu (under "tools" on os x and linux, or "
firefox" on windows) click the wrench icon (), which is in the main toolbar or under the hamburger menu (), then select "toggle tools" activate any tool hosted in the toolbox (for example, the javascript debugger or the page inspector) press ctrl + shift + i on windows and linux, or cmd + opt + i on os x.
... by default, the window appears docked to the bottom side of the
firefox window, but you can detach it if you like.
...And 4 more matches
Accessibility Inspector - Firefox Developer Tools
accessing the accessibility inspector when you first open any of the other developer tools, the accessibility features are turned off (unless you've already got them turned on in another browser tab, or got the
firefox accessibility engine started already, e.g., you might be a screenreader user or tester).
...starting in
firefox 79, it is automatically enabled when you do one of the following: choose accessibility in the tools > web developer menu.
...note that this works correctly as of
firefox 62 (bug 1467381).
...And 3 more matches
Tutorial: Set a breakpoint - Firefox Developer Tools
this page shows how you can try out the debugger api yourself using
firefox’s scratchpad.
... this tutorial was tested against
firefox 58 beta and nightly.
... it does not work in
firefox 57.
...And 3 more matches
Basic operations - Firefox Developer Tools
opening the memory tool before
firefox 50, the memory tool is not enabled by default.
... to enable it, open the developer tool settings, and check the "memory" box under "default
firefox developer tools": from
firefox 50 onwards, the memory tool is enabled by default.
... to load a snapshot from an existing .fxsnapshot file, click the import button, which looks like a rectangle with an arrow rising from it (before
firefox 49, this button was labeled with the text "import..."): you'll be prompted to find a snapshot file on disk.
...And 3 more matches
Waterfall - Firefox Developer Tools
new in
firefox 46: if the gc event was caused by allocation pressure, a link appears, labeled "show allocation triggers".
... stack at end (new in
firefox 41).
... garbage collection red markers in the waterfall represent garbage collection (gc) events, in which spidermonkey (the javascript engine in
firefox) walks the heap looking for memory that's no longer reachable and subsequently releasing it.
...And 3 more matches
Responsive Design Mode - Firefox Developer Tools
toggling responsive design mode there are three ways to toggle responsive design mode: from the
firefox menu: select responsive design mode from the web developer submenu in the
firefox menu (or tools menu if you display the menu bar or are on macos).
... orientation (portrait or landscape) - this setting persists between sessions screenshots are saved to
firefox's default download location.
... dpr (pixel ratio) - beginning with
firefox 68, the dpr is no longer editable; create a custom device in order to change the dpr throttling - a drop-down list where you can select the connection throttling to apply, for example 2g, 3g, or lte enable/disable touch simulation - toggles whether or not responsive design mode simulates touch events.
...And 3 more matches
File and Directory Entries API support in Firefox - Web APIs
mozilla instead opted to implement other apis which can be used to solve many of the same problems, such as indexeddb; see the blog post why no filesystem api in
firefox?
...this subset of the api provided by chrome is still not fully specified; however, for web compatibility reasons, it was decided to implement a subset of the api in
firefox; this was introduced in
firefox 50.
... this article describes how the
firefox implementation of the file and directory entries api differs from other implementations and/or the specification.
...And 3 more matches
Theme changes in Firefox 3 - Archive of obsolete content
this article covers the changes that need to be made to update a
firefox theme to work properly in
firefox 3.
... note: we could use an article called updating themes for
firefox 3 that would serve as a how-to guide for updating themes.
... filename css file details changes to the default theme the table below lists changes made in the default theme for
firefox 3; you can use this information as a starting point for figuring out the changes you need to make.
...And 2 more matches
Theme changes in Firefox 4 - Archive of obsolete content
this article covers changes in
firefox 4 that affect theme developers.
... omni.jar
firefox 4 achieves performance improvements by moving many of its internal parts from being standalone files or sets of jar files into just one jar file; this reduces the amount of i/o needed to load
firefox.
... } to use large icons for add-on buttons in the bookmarks toolbar when the related user preference is set: #navigator-toolbox[iconsize="large"] > #personaltoolbar { counter-reset: largeicons; } to use large icons everywhere, including the menu bar, regardless of the user preference: #navigator-toolbox > toolbar, #addon-bar { counter-reset: largeicons; } creating a theme that works for
firefox 4 on mac os x create a new directory (for example, my_theme).
...And 2 more matches
Performance best practices for Firefox front-end engineers
this guide will help
firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of
firefox.
...if you need more elevated privileges than a standard worker allows, consider using a chromeworker, which is a
firefox-only api which lets you create workers with more elevated privileges.
...however, as of
firefox 49, the nsidomwindowutils.elementsrestyled attribute records a count of how many style calculations have occurred for a particular dom window.
...And 2 more matches
Set event listener breakpoints - Firefox Developer Tools
starting with
firefox 69, debugging an application that includes event handlers is simplified because the debugger now includes the ability to automatically break when the code hits an event handler.
...all of the standard events supported in your version of
firefox are listed, arranged by which api or api area they're part of.
... logging on events in
firefox 71 onwards, the “log” checkbox is available in the event listener breakpoints list.
...And 2 more matches
Dominators view - Firefox Developer Tools
the dominators view is new in
firefox 46.
... starting in
firefox 46, the memory tool includes a new view called the dominators view.
...it looks something like this: the dominators view consists of two panels: the dominators tree panel shows you which nodes in the snapshot are retaining the most memory the retaining paths panel (new in
firefox 47) shows the 5 shortest retaining paths for a single node.
...And 2 more matches
Style Editor - Firefox Developer Tools
from
firefox 40 onwards, the style sheet pane also includes a context menu that lets you open the selected style sheet in a new tab.
... the media sidebar works especially well with responsive design view for creating and debugging responsive layouts: from
firefox 46 onwards, if an @media rule contains a screen size in a condition, then it is made clickable: clicking it then resizes the screen to that size using the responsive design view: creating and importing style sheets you can create a new style sheet by clicking the new button in the toolbar.
...from
firefox 29 onwards, the style editor can understand css source maps.
...And 2 more matches
The JavaScript input interpreter - Firefox Developer Tools
starting in
firefox 76, if the code snippet is more than five lines long, only the first five lines are echoed in the console, preceeded by a disclosure triangle (or "twistie"), and followed by an ellipsis (…).
... instant evaluation this feature is available in
firefox nightly, in versions labeled 74 and later.
... copy() new in
firefox 38.
...And 2 more matches
Listening to events in Firefox extensions - Archive of obsolete content
pageshow event this event works the same as the load event, except that it fires every time the page is loaded (whereas the load event doesn't fire in
firefox 1.5 when the page is loaded from cache).
... if you call javascript functions as part of the pageshow event, you can ensure these functions are called when the page is loaded in browsers other than
firefox 1.5 by calling the pageshow event as part of the load event, as shown in the sample later in this article.
...
firefox 1.5 tries to simulate load events in the same order they would occur when the page is initially loaded.
... how events are used by
firefox the
firefox frontend already listens for a number of these progress events from web pages.
Building Firefox with Rust code - Archive of obsolete content
please instead refer to the documentation found within the modern
firefox build system documentation; specifically, the section called including rust code in
firefox.
...
firefox uses the rust programming language extensively.
... this page is a rough guide for people using rust in
firefox.
...our goal is to always ship a
firefox release build with a stable rust toolchain release.
XUL Changes for Firefox 1.5 - Archive of obsolete content
this lists the most notable changes to xul in
firefox 1.5 (gecko 1.8).
... for other changes you should be aware of, see adapting xul applications for
firefox 1.5.
... for more information see using
firefox 1.5 caching.
...this has been fixed in
firefox 1.5 and all code depending on this non zero-based behaviour should be changed.
Mozilla.dev.apps.firefox-2006-10-06 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - september 30 - october 6, 2006 announcements vista compatibility lab mike schroepfer announced the current work being done testing mozilla products with vista.
... discussions
firefox trunk and rc1 slowdown using tabs discussion regarding certain theme components (specifically alpha-transparency) creating a high cpu load on os/2.
... title case capitalization rules in
firefox discussion regarding rules for capitalizing the first letter of
firefox menu items in the ff ui.
... places in
firefox 3 discussion regarding places (a new system for storing bookmarks, histroy and other page info) in
firefox 3.
Create Your Own Firefox Background Theme - Archive of obsolete content
how to create your own background theme themes are made up of a "header" graphic image file, which skins the default
firefox ui background.
...
firefox may reveal more of the lower portion of the image if another toolbar or other ui element is added to the top of the window.
... creating a theme footer image in older versions of
firefox, or newer versions with certain add-ons installed, the footer image is displayed as the background of the bottom of the browser window, behind the add-on and find bars.
...
firefox may reveal more of the upper portion of the image if the find bar is open or if an extension adds more height to the bottom of the window.
Firefox Sync
firefox sync is built into the desktop versions of
firefox, as well as
firefox for android and
firefox for ios.
...
firefox sync synchronizes state and configuration data used by the browser, such as bookmarks, history, preferences, bookmarks, and so forth among all your devices.
... it uses
firefox accounts for account, authentication and key management.
...your data can only be decrypted by someone who is able to log in to your
firefox account (ie, that knows your
firefox accounts password and has access to your email for the verification required during the initial login).
DOM Inspector - Firefox Developer Tools
this tool is an add-on for xul-based applications such as
firefox and thunderbird.
... if you are looking for the dom inspector that's built into
firefox, see the documentation for the page inspector.
... getting dom inspector
firefox & thunderbird you may download and install the dom inspector from the amo web site.
... (thunderbird users browsing amo in
firefox should save the installation link, or visit the dom inspector for thunderbird page.) thunderbird 2 dom inspector for thunderbird 2 is available from thunderbird add-ons.
Debugging service workers - Firefox Developer Tools
in this article we will look at debugging service workers using the
firefox devtools application panel.
... debug important: the debug button is currently enabled only in
firefox nightly.
... the
firefox devtools’ storage tab has a cache storage section that lists all the different caches you have stored under each different origin.
...if you want to see a list of information concerning all the service workers registered on your browser, you can visit about:debugging#/runtime/this-
firefox.
Debugger - Firefox Developer Tools
(allowing the handler to substitute its own value for the new global object doesn’t seem useful.) this handler method is only available to debuggers running in privileged code (“chrome”, in
firefox).
... an html5 windowproxy object (an “outer window”, in
firefox terminology), which is treated as if the window object of the browsing context’s active document (the “inner window”) were passed.
... this method is only available to debuggers running in privileged code (“chrome”, in
firefox).
...(naturally, once the function has returned, the array’s debugger.object instances strongly reference the globals they refer to.) this handler method is only available to debuggers running in privileged code (“chrome”, in
firefox).
JSON viewer - Firefox Developer Tools
the json viewer is new in
firefox 44.
... before
firefox 53, the json viewer is enabled by default only in
firefox developer edition and
firefox nightly.
... from
firefox 53 onwards, the json viewer is also enabled by default in beta and the normal release version of
firefox.
...
firefox includes a json viewer.
Page inspector 3-pane mode - Firefox Developer Tools
feature summary from
firefox 62 onwards, the page inspector has a new mode available — 3-pane mode.
... enabling the 3-pane inspector pre-
firefox 62 in earlier versions of
firefox (since
firefox 59/60), you can enable 3 pane mode in release/beta by going to about:config and flipping the following prefs to true: devtools.inspector.split-rule-enabled — this switches 3-pane mode on and off.
... in
firefox 61, these preferences got renamed to: devtools.inspector.three-pane-enabled devtools.inspector.three-pane-toggle you need to flip these two to true in release/beta to test the feature in
firefox 61.
... note: the 3-pane inspector is already enabled in nightly/developer edition before
firefox 62.
Work with animations - Firefox Developer Tools
starting in
firefox 48, it will show animations applied to the ::before and ::after pseudo-elements.
...the box below contains a grayscale icon, representing
firefox developer edition.
...hovering over these selectors, we can see that those elements are, respectively, the browser name "
firefox developer edition" and the browser icon.
...if you look at this in the animation inspector in
firefox 49+, you'll see that: the white lightning bolt icon now indicates whether all the animation properties have been optimized by running them through the compositor, where possible.
Web Audio Editor - Firefox Developer Tools
notice: this tool has been deprecated and will soon be removed from
firefox.
... opening the web audio editor the web audio editor is not enabled by default in
firefox 32.
... connections to audioparams displaying connections to audioparams is new in
firefox 34.
... bypassing nodes new in
firefox 38.
How Thunderbird and Firefox find their configuration files - Archive of obsolete content
how thunderbird and
firefox find their configuration files thunderbird looks into the binary %appdata%\thunderbird\profiles.ini file for its "registry", which contains, amongst other information, a pointer to the directory where the profile is stored (usually located in %appdata%\thunderbird\profiles\profilename).
... likewise,
firefox uses a similar file, located in %appdata%\mozilla\
firefox\profiles.ini.
...unlike mozilla's binary registry.dat file, thunderbird's and
firefox' profiles.ini file is a readable text file.
Creating a Skin for Firefox - Archive of obsolete content
introduction in order to create a skin for
firefox, there are three things you need to know: how to edit images, how to extract zip files, and how to modify css.
...
firefox uses standard gif, png, and jpeg images for the buttons and css to style everything else in the interface.
...if you want to change the functionality of
firefox, you'll have to look into modifying the chrome, which is beyond the scope of this document.
Color vision simulation - Firefox Developer Tools
the simulator in the accessibility inspector in
firefox developer tools lets you see what a web page would look like to users with various forms of color vision deficiency (better known as "color blindness"), as well as contrast sensitivity loss.
... to enable this feature, you must have webrender enabled; it may be enabled by default, depending on your configuration of
firefox.
... in the
firefox configuration editor, make sure the gfx.webrender.all option is set to true.
Introduction to DOM Inspector - Firefox Developer Tools
the dom inspector is a mozilla extension that you can access from the tools > web development menu in seamonkey, or by selecting the dom inspector menu item from the tools menu in
firefox and thunderbird, or by using ctrl/cmd+shift+i in either application.
... note: starting with
firefox 3, the dom inspector is not included in
firefox by default; instead, you must download and install it from the mozilla add-ons web site.
...in
firefox and seamonkey browser, these will be the webpages you have opened in tabs.
DOM Property Viewer - Firefox Developer Tools
the dom property viewer is new in
firefox 48.
...to enable it, open the developer tool settings and check the "dom" box under "default
firefox developer tools".
... opening the dom property viewer once enabled, you can open the dom property viewer by selecting "dom" from the web developer submenu in the
firefox menu panel (or tools menu if you display the menu bar or are on macos), or by pressing its ctrl + shift + w keyboard shortcut.
Step through code - Firefox Developer Tools
function call, in which case enter the function being called step out: run to the end of the current function, in which case, the debugger will skip the return value from a function, returning execution to the caller split console when paused, you can press the esc key to open and close the split console to gain more insight into errors and variables: pause on breakpoints overlay since
firefox 70, when your code is paused on a breakpoint an overlay appears on the viewport of the tab you are debugging.
... if you want to turn this feature off, since
firefox 71 you can do so by going to about:config in a new tab, setting the devtools.debugger.features.overlay pref to false, and restarting the browser.
... inline variable preview new in
firefox 71, the source pane now gives you an instant preview of the variables on each line of code you've stepped through.
Tutorial: Show Allocations Per Call Path - Firefox Developer Tools
the saved stacks // are new, and
firefox doesn't yet understand that they // are safe for chrome code to use, so we must tell it // so explicitly.
...indeed, this display shows that popup.xml and content.js, which are internal components of
firefox, allocated more objects in the page's compartment than the page itself.
... (we will probably revise the allocation log to present such allocations in a way that is more informative, and that exposes less of
firefox's internal structure.) as expected, the onclick handler is responsible for all allocation done by the page's own code.
Debugger.Object - Firefox Developer Tools
for example, in
firefox, code in privileged compartments sees content dom element objects without redefinitions or extensions made to that object's properties by content code.
... (in
firefox terminology, privileged code sees the element through an "xray wrapper".) to ensure that debugger code sees each object just as the debuggee would, each debugger.object instance presents its referent as it would be seen from a particular compartment.
...for example, in
firefox, a metadata object for a javascript module's global object might look like this: { "type":"jsm", "uri":"resource:://gre/modules/xpcomutils.jsm" }
firefox provides [debuggerhostannotationsfor
firefox annotations] for its host objects.
Examine and edit HTML - Firefox Developer Tools
since
firefox 52, the inspector displays these whitespace nodes, so you can see where the gaps in your markup come from.
... note: shadow dom inspection was implemented in
firefox 61, but was hidden behind the dom.webcomponents.shadowdom.enabled pref until
firefox 63.
... from
firefox 44, pressing the keyboard shortcut s will also scroll the selected node into view.
UI Tour - Firefox Developer Tools
the following image shows the 2-pane layout: in 2-pane mode, the inspector includes the html pane, and the css pane, which can contain one of six tools: rules view layout view computed view changes view compatibility view (
firefox developer edition 77 and later) fonts view animations view the following image shows the 3-pane mode (available from
firefox 62 onwards) which moves the css rules view into a separate pane in the center of the inspector.
...note that before
firefox 50, the box model view did not appear in the "computed view" tab, but had its own tab.
... computed view the computed view shows you the complete computed css for the selected element (the computed values are the same as what getcomputedstyle would return.): compatibility view starting with
firefox developer edition version 77, the compatibility view shows css compability issues, if any, for properties applied to the selected element, and for the current page as a whole.
Remote Debugging - Firefox Developer Tools
you can use the
firefox developer tools on your desktop to debug web sites and web apps running in other browsers or runtimes.
... you can connect the developer tools to gecko-based runtimes like
firefox desktop,
firefox for android, and thunderbird.
...
firefox desktop
firefox for android over usb ...
Taking screenshots - Firefox Developer Tools
the screenshot is saved to the browser's "downloads" directory: copying screenshots to the clipboard from
firefox 53, you can also copy the screenshot to the clipboard.
... taking screenshots with the web console if you need to specify a different device-pixel-ratio, set a delay before taking the screenshot, or specify your own file name, starting in
firefox 62 you can use the :screenshot helper function in the web console.
...small portions of this section have been borrowed from his
firefox’s :screenshot command article.
Firefox addons developer guide - Archive of obsolete content
the
firefox add-ons developer guide was contributed by the mozilla japan community; it covers how to go about building
firefox extensions using xpcom and xul.
... next » introduction to extensions technologies used in developing extensions introduction to xul—how to build a more intuitive ui using xpcom—implementing advanced processes let's build a
firefox extension
firefox extensions and xul applications license and authors next » ...
Firefox Sync - Archive of obsolete content
these components and services include:
firefox sync client the sync client bundled with mozilla products.
...
firefox home an ios application that functions as a sync client.
Mozilla.dev.apps.firefox-2006-09-29 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - september 22-29, 2006 announcements bon echo 20060921 nightly to recieve "major update" offer mike beltnzer announced that 'users running the bon echo 20060921 nightly build will be offered the chance to upgrade to a "new version"'
firefox start up performance boris zbarsky recently performed some profiling of
firefox's start up - these are some of the details discussions problem handling dmg files on mac discussion about why sometimes dmg files are not mounted correctly after they are downloaded.
...
firefox 2 on windows vista discussion about the "state of affairs" of
firefox 2 on windows vista rc1 - update for rc1 listed in update history as 'install pending' right-click "copy email address" - bug 353102 a proposed bug fix to the 'copy email address' bug how to use the rss feeds discovery & parsing tool in another open source project?
Building Firefox with Debug Symbols
by default, a release build of
firefox will not generate debug symbols suitable for debugging or post-processing into the breakpad symbol format.
... 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.
The Web Developer Menu - Firefox Developer Tools
the web developer menu is the main way to access the developer tools that are built into
firefox.
... on os x and linux, it's under the "tools" menu: on windows 7, it's under the "
firefox" menu: you'll see that the menu is split into three sections: the first section lists tools that are hosted in the toolbox, which is a dedicated window for developer tools the second section lists integrated tools that are not hosted in the toolbox, as well as any tools installed as add-ons (you'll see in the windows screenshot above that i've installed the
firefox os simulator) the third section, "get more tools", is a link to more web development add-ons for
firefox ...
Add-ons - Firefox Developer Tools
developer tools that are not built into
firefox, but ship as separate add-ons.
...this add-on is no longer available, as it requires older versions of
firefox.
UI Tour - Firefox Developer Tools
ignore (since
firefox 76) ignore files in this directory causes all files within the selected directory to be skipped by the debugger.
...the setting is reset when the developer tools are closed (except in
firefox 77, see bug 1640318).
Debugger.Object - Firefox Developer Tools
for example, in
firefox, code in privileged compartments sees content dom element objects without redefinitions or extensions made to that object’s properties by content code.
... (in
firefox terminology, privileged code sees the element through an “xray wrapper”.) to ensure that debugger code sees each object just as the debuggee would, each debugger.object instance presents its referent as it would be seen from a particular compartment.
Debugger-API - Firefox Developer Tools
both
firefox’s built-in developer tools and the firebug add-on use debugger to implement their javascript debuggers.
...(
firefox’s builtin tools have a protocol defined for this purpose.) in gecko, the debugger api is available to chrome code only.
DevTools API - Firefox Developer Tools
if you notice any inconsistency, please let the
firefox developer tools team know.
... introduction the devtools api provides a way to register and access developer tools in
firefox.
Aggregate view - Firefox Developer Tools
before
firefox 48, this was the default view of a heap snapshot.
... after
firefox 48, the default view is the tree map view, and you can switch to the aggregate view using the dropdown labeled "view:": the aggregate view looks something like this: it presents a breakdown of the heap's contents, as a table.
Examine and edit CSS - Firefox Developer Tools
you can: toggle pseudo-classes; toggle classes; add a new rule; change the display based on the color scheme preference (as of
firefox 72, you must set devtools.inspector.color-scheme-simulation.enabled to true in the configuration editor to enable this feature); change the display based on print media rules.
... view @media rules for color-scheme-preference as of
firefox 72, you must set devtools.inspector.color-scheme-simulation.enabled to true in the configuration editor to enable this feature.
Animation inspector example: CSS transitions - Firefox Developer Tools
firefox-logo-animation example animation using css transitions.
... html content <div class="channel"> <img src="https://udn.realityripple.com/samples/e6/a96484b5c3.png" class="icon"/> <span class="note">
firefox developer edition</span> </div> css content .channel { padding: 2em; margin: 0.5em; box-shadow: 1px 1px 5px #808080; margin: 1.5em; } .channel > * { vertical-align: middle; line-height: normal; } .icon { width: 50px; height: 50px; filter: grayscale(100%); transition: transform 750ms ease-in, filter 750ms ease-in-out; } .note { margin-left: 1em; font: 1.5em "open sans",arial,sans-serif; overflow: hidden; white-space: nowrap; display: inline-block; opacity: 0; width: 0; transition: opacity 500ms 150ms, width 500ms 150ms; } .icon#selected { filter: grayscale(0%); transform: scale(1.5); } .icon#selected+s...
Animation inspector example: Web Animations API - Firefox Developer Tools
firefox-logo-animation example animation using the web animations api.
... html content <div class="channel"> <img src="https://udn.realityripple.com/samples/e6/a96484b5c3.png" id="icon"/> <span id="note">
firefox developer edition</span> </div> css content .channel { padding: 2em; margin: 0.5em; box-shadow: 1px 1px 5px #808080; margin: 1.5em; } .channel > * { vertical-align: middle; line-height: normal; } #icon { width: 50px; height: 50px; filter: grayscale(100%); } #note { margin-left: 1em; font: 1.5em "open sans",arial,sans-serif; overflow: hidden; white-space: nowrap; display: inline-block; opacity: 0; width: 0; } javascript content var iconkeyframeset = [ { transform: 'scale(1)', filter: 'grayscale(100%)'}, { filter: 'grayscale(100%)', offset: 0.333}, { transform: 'scale(1.5)', offset: 0.666 }, { transform: '...
Page inspector keyboard shortcuts - Firefox Developer Tools
page up decrement selected value by 100 shift + page down shift + page down shift + page down increment selected value by 10 shift + up arrow shift + up arrow shift + up arrow decrement selected value by 10 shift + down arrow shift + down arrow shift + down arrow increment selected value by 0.1 alt + up arrow (ctrl + up arrow from
firefox 60 onwards.) alt + up arrow alt + up arrow (ctrl + up arrow from
firefox 60 onwards.) decrement selected value by 0.1 alt + down arrow (ctrl + down arrow from
firefox 60 onwards).
... alt + down arrow alt + down arrow (ctrl + down arrow from
firefox 60 onwards).
Allocations - Firefox Developer Tools
the allocations view is new in
firefox 46.
... to reduce the impact on responsiveness, spidermonkey (the javascript engine in
firefox) can perform gc in small increments, letting the program run in between.
Shader Editor - Firefox Developer Tools
note: this tool has been deprecated and will soon be removed from
firefox.
...to enable it, open the toolbox settings and check "shader editor" in the "default
firefox developer tools" item.
Index - Archive of obsolete content
currently, these are only supported on
firefox mobile and
firefox os.
...we will show how to do each of these things using the built-in components object provided by xulrunner application such as
firefox and thunderbird.
... 29
firefox compatibility add-on sdk no summary!
...And 190 more matches
appearance (-moz-appearance, -webkit-appearance) - CSS: Cascading Style Sheets
the -moz-appearance and -webkit-appearance properties are non-standard versions of this propery, used (respectively) by gecko (
firefox) and by webkit-based (e.g., safari) and blink-based (e.g., chrome, opera) browsers to achieve the same thing.
... note that
firefox and edge also support -webkit-appearance, for compatibility reasons.
...starting with gecko/
firefox 80, these uses were changed to -moz-default-appearance, which should never be used outside of internal stylesheets.
...And 76 more matches
ARIA Test Cases - Accessibility
tested ua/at combinations: dragon 10 with
firefox 3 and ie 8 beta 2 jaws 9 & 10 with
firefox 3 jaws 9 & 10 with ie beta 2 nvda 0.6p2 with
firefox 3 orca with
firefox 3 window-eyes 7 with ie 8 beta 2 and
firefox 3 voiceover (leopard) with safari 4.0.2 zoom (leopard) with safari 4.0.2,
firefox 3.x and opera 9.x zoomtext 9.1 with
firefox 3 and ie 8 beta 2 test case structure test cases are organized as follows: test case links test d...
...etails expected at behavior markup notes results table at
firefox ie opera safari jaws 9 - - - - jaws 10 - 1.
... markup used: role="alert" notes: results: at
firefox ie opera safari jaws 9 passed fail n/a n/a jaws 10 passed fail - - voiceover (leopard) n/a n/a - fail window-eyes passed- not announced as "alert" fail - - nvda passed n/a - - zoom (leopard) pass n/a pass pass zoomtext - - - - orca ...
...And 48 more matches
Key Values - Web APIs
[1] in internet explorer (tested on release 9 and 11), as well as in all versions of
firefox, the windows key is reported as "os" instead of as "meta".
... this will be changed in
firefox per bug 1232918.
... until that's fixed, these keys are returned as "os" by
firefox: vk_lwin (0x5b) and vk_rwin (0x5c) on windows, and gdk_key_super_l (0xffeb), gdk_key_super_r (0xffec), gdk_key_hyper_l (0xffed), and gdk_key_hyper_r (0xffee) on linux.
...And 46 more matches
Mozilla
add-ons add-ons allow developers to extend and modify the functionality of
firefox.
... adding a new event this draft document covers how to add a new event to the mozilla (
firefox) source code.
... adding a new word to the en-us dictionary occasionally bugs are filed pointing out situations where perfectly legitimate words are missing from the english spell check dictionary in
firefox.
...And 44 more matches
Index
this can create a difficult situation for extension developers trying to support multiple gecko versions (
firefox 2 and 3, for example).
... 8 generating guids add-ons, developing mozilla, developing_mozilla:tools, extensions, tools, xpcom guids are used in mozilla programming for identifying several types of entities, including xpcom interfaces (this type of guids is callled iid), components (cid), and legacy add-ons—like extensions and themes—that were created prior to
firefox 1.5.
... add-ons can (and should) be identified with ids of the form extensionname@organization.tld since
firefox 1.5.
...And 40 more matches
IDBObjectStore - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbobjectstorechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full...
... support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitaddchrome ...
...And 39 more matches
Permissions - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpermissionschrome full support 43edge full support 79
firefox full support 46ie no support noop...
...era full support yessafari no support nowebview android full support 43chrome android full support 43
firefox android full support 46opera android full support yessafari ios no support nosamsung internet android full support 4.0accelerometer permissionchrome full support 62edge full support 79
firefox ?
... safari no support nowebview android full support 62chrome android full support 62
firefox android ?
...And 38 more matches
Command line options
in general, the syntax is as follows: application -option -option "argument" -option argument examples the following examples show the use of the "-profilemanager" command, which will open the profile manager prior to starting
firefox or thunderbird: windows select run from windows start menu.
... enter the following command:
firefox -profilemanager mac os x go to applications > utilities.
... open terminal and enter the following command: cd /applications/
firefox.app/contents/macos ./
firefox -profilemanager if you use
firefox nightly, you can enter: cd /applications/
firefoxnightly.app/contents/macos ./
firefox -profilemanager linux open terminal and enter the following command: cd thunderbird installation directory ./thunderbird -profilemanager the example above invokes the "-profilemanager" command line option with mozilla's thunderbird mail client.
...And 35 more matches
Index - Web APIs
firefox follows this standard.
...it applies to all gecko-based applications (such as
firefox) both in privileged (extensions) and unprivileged (web pages) code.
...the demonstrations provided here will work fine in any modern browser, including all versions of
firefox and ie 5+.
...And 33 more matches
Fullscreen API - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfullscreen deprecatedchrome full support 71 full support 71 full support 15alternate name alternate name uses the non-standard name: webkit...
...isfullscreenedge full support ≤79 full support ≤79 full support ≤79alternate name alternate name uses the non-standard name: webkitisfullscreen
firefox full support 64 full support 64 no support 49 — 65disabled disabled from version 49 until version 65 (exclusive): this feature is behind the full-screen-api.unprefix.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.
...And 31 more matches
Selection API - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetselection experimentalchrome full support 1edge full support 12
firefox full support 1notes full support ...
... 1notes notes the globaleventhandlers.onselectionchange and globaleventhandlers.onselectstart event handlers are supported as of
firefox 52.ie full support 9opera full support 9safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4notes full support 4notes notes the globaleventhandlers.onselectionchange and globaleventhandlers.onselectstart event handlers are supported as of
firefox 52.opera android full ...
...support 10.1safari ios full support 1samsung internet android full support 1.0addrange experimentalchrome full support 1edge full support 12
firefox full support yesie ?
...And 31 more matches
Install Manifests - Archive of obsolete content
firefox or thunderbird) uses to determine information about an add-on as it is being installed.
... id the id of the extension, which must be one of the following: guid (
firefox 1.0) a string formatted like so: extensionname@example.org the latter format is significantly easier to generate and manipulate.
...
firefox 1.5 has checking to ensure that your id falls into one format or the other and will refuse to install add-ons that have malformed ids.
...And 30 more matches
Choosing the right approach - Learn web development
browser compatibility desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsettimeoutchrome full support 30edge full support 12
firefox full support 1 full support 1 ...
...nterval now defined on windoworworkerglobalscope mixin.ie full support 4opera full support 4safari full support 1webview android full support 4.4chrome android full support 30
firefox android full support 4 full support 4 full support 52notes notes setinterval now defined on windoworworkerglobalscope mixin.opera android full support 10.1safari ios full support ...
... 1samsung internet android full support 3.0supports parameters for callbackchrome full support yesedge full support 12
firefox full support yesie full support 10opera full support yessafari ?
...And 30 more matches
The Essentials of an Extension - Archive of obsolete content
rdf used to be the central storage mechanism for
firefox, but it is now being replaced for a simpler database system.
...
firefox needs this to distinguish your extension from other extensions, so it is required that you have an id that is unique.
...for
firefox 2, localizing this file is a little more complicated.
...And 29 more matches
jpm - Archive of obsolete content
install a different version of
firefox as of
firefox 48, it is not possible to use unsigned add-ons (i.e.
... any add-on which you are in the process of developing) in the branded release or beta versions of
firefox.
... thus, you will need to download and install a different version of
firefox.
...And 27 more matches
Building a Theme - Archive of obsolete content
introduction this tutorial will take you through the steps required to build a very basic theme - one which updates the background color of the toolbars in
firefox.
... note: this tutorial is about building themes for
firefox 29 and later.
... other tutorials exist for building themes for earlier versions of
firefox.
...And 27 more matches
BasicCardResponse - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbasiccardresponsechrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true) and the dom.payments.request.supportedregions preference (needs to be set to a comma-delineated list of one or more 2-character iso country codes indicating the countries in which to support payments (for example, us,ca.).
...And 25 more matches
Setting Up a Development Environment - Archive of obsolete content
it's based on the mozilla xulrunner platform, so it has support for some of the particularities in
firefox extension development.
...it has an add-on system similar to the one in
firefox, and there are some komodo extensions that provide additional help in extension development.
...we chose make because this is the same system used by mozilla to build
firefox, and it is available for all operating systems.
...And 24 more matches
nsINavBookmarksService
1.0 67 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) implemented by: @mozilla.org/browser/nav-bookmarks-service;1.
... beginupdatebatch() obsolete since gecko 1.9 (
firefox 3) causes observers to be notified of a beginupdatebatch when a lot of things are about to change.
... obsolete since gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10)this feature is obsolete.
...And 24 more matches
Event reference
mozbrowseractivitydone
firefox os browser api-specific sent when some activity has been completed (complete description tbd.) mozbrowserasyncscroll
firefox os browser api-specific sent when the scroll position within a browser <iframe> changes.
... mozbrowseraudioplaybackchange
firefox os browser api-specific sent when audio starts or stops playing within the browser <iframe> content.
... mozbrowsercaretstatechanged
firefox os browser api-specific sent when the text selected inside the browser <iframe> content changes.
...And 24 more matches
cfx - Archive of obsolete content
cfx is no longer supported as of
firefox 44 and no longer accepted for add-on submission.
...cfx is is no longer supported as of
firefox 44 and no longer accepted for add-on submission, jpm should now be used instead.
... cfx run launch an instance of
firefox with your add-on installed.
...And 23 more matches
IDBDatabase - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbdatabasechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full su...
...pport 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitabort eventchrome ...
...And 23 more matches
IDBIndex - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full suppo...
...rt 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitcountchrome ...
...And 23 more matches
IDBTransaction - Web APIs
firefox durability guarantees note that as of
firefox 40, indexeddb transactions have relaxed durability guarantees to increase performance (see bug 1112702.) previously in a readwrite transaction idbtransaction.oncomplete was fired only when all data was guaranteed to have been flushed to disk.
... in
firefox 40+ the complete event is fired after the os has been told to write the data but potentially before that data has actually been flushed to disk.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbtransactionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full...
...And 23 more matches
HTTP logging
note: the web console also offers the ability to peek at http transactions within
firefox.
... using about:networking this is available starting with
firefox 52.
... this is because
firefox now uses multiple processes, and each process gets its own log file.
...And 22 more matches
Release notes - Archive of obsolete content
firefox 35 highlights added access keys for context menu.
... details github commits made between
firefox 34 and
firefox 35.
... bugs fixed between
firefox 34 and
firefox 35.
...And 21 more matches
How to convert an overlay extension to restartless - Archive of obsolete content
next, what's the minimum version of
firefox we should require (preferably an esr)?
... this guide targets
firefox 17 esr or later (or anything else gecko 17+, such as seamonkey 2.14+).
...using the current
firefox esr, stable version, or nightly is generally a better idea if given the option, but some users take forever to upgrade.
...And 21 more matches
Storage access policy: Block cookies from trackers
firefox includes a new storage access policy that blocks cookies and other site data from third-party tracking resources.
... this policy is designed as an alternative to the older cookie policies, which have been available in
firefox for many years.
... testing in
firefox this cookie policy has been available in
firefox since version 63.
...And 21 more matches
Signing an XPI - Archive of obsolete content
for an extension to work in
firefox it must be signed by mozilla, not by yourself.
... introduction this article describes how to sign your own
firefox extensions with a code-signing certificate on a windows platform.
...temporarily install the test certificate authority into your mozilla browser rename the x509.cacert file generated earlier to x509.cert import it into mozilla
firefox as a software developer certificate authority.
...And 20 more matches
imgIContainer
66 introduced gecko 1.0 inherits from: nsisupports last changed in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) implemented by: ?????????????????????????????????????.
... obsolete since gecko 2.0 methods native code only!addrestoredata obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...void addrestoredata( [array, size_is(acount), const] in char data, in unsigned long acount ); parameters data missing description acount missing description exceptions thrown missing exception missing description native code only!appendframe obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...And 20 more matches
mix-blend-mode - CSS: Cascading Style Sheets
ifference | exclusion | hue | saturation | color | luminosity examples effect of different mix-blend-mode values <div class="grid"> <div class="col"> <div class="note">blending in isolation (no blending with the background)</div> <div class="row isolate"> <div class="cell"> normal <div class="container normal"> <div class="group"> <div class="item
firefox"></div> <svg viewbox="0 0 150 150"> <defs> <lineargradient id="red"> <stop offset="0" stop-color="hsl(0,100%,50%)" /> <stop offset="100%" stop-color="hsl(0,0%,100%)" /> </lineargradient> <lineargradient id="green"> <stop offset="0" stop-color="hsl(120,100%,50%)" />...
..."75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item g" cx="75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item b" cx="75" cy="75" rx="25" ry="70"></ellipse> </svg> </div> </div> </div> <div class="cell"> multiply <div class="container multiply"> <div class="group"> <div class="item
firefox"></div> <svg viewbox="0 0 150 150"> <ellipse class="item r" cx="75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item g" cx="75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item b" cx="75" cy="75" rx="25" ry="70"></ellipse> </svg> </div> </div> </div> <div class="cell"> darken <div...
... class="container darken"> <div class="group"> <div class="item
firefox"></div> <svg viewbox="0 0 150 150"> <ellipse class="item r" cx="75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item g" cx="75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item b" cx="75" cy="75" rx="25" ry="70"></ellipse> </svg> </div> </div> </div> <div class="cell"> screen <div class="container screen"> <div class="group"> <div class="item
firefox"></div> <svg viewbox="0 0 150 150"> <ellipse class="item r" cx="75" cy="75" rx="25" ry="70"></ellipse> <ellipse class="item g" cx="75" cy="75" rx="25" ry="70"></ellipse> ...
...And 20 more matches
<textarea> - HTML: Hypertext Markup Language
autocapitalize this is a non-standard attribute supported by webkit on ios (therefore nearly all browsers running on ios, including safari,
firefox, and chrome), which controls whether and how the text value should be automatically capitalized as it is entered/edited by the user.
... note: in browsers other than
firefox, such as chrome, the disabled textarea content may be selectable and copyable.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettextareachrome full support yesedge full support 12
firefox full support yesnotes full support ...
...And 20 more matches
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
abstract this document is a concrete example of a centralized auto-configuration of mozilla apps, that are;
firefox, thunderbird, mozilla suite 1.x.x, seamonkey and for the record, old netscape 4.x.
... its original inspiration comes from http://www.alain.knaff.lu/howto/mozillacustomization/ and http://mit.edu/~
firefox/www/maintain...utoconfig.html.
... file location (not tested since 2012 ...) in thunderbird ,
firefox, the javascript preference file that calls the centralized preference file is located in $install_dir_moz_app/defaults/pref, for example in thunderbird this would be repectively for windows/linux: c:\program files\mozilla thunderbird\defaults\pref /usr/lib/thunderbird/default/pref ( it used to be in /usr/lib/thunderbird-version#/default/pref as in /usr/lib/thunderbird-5/default/pref ) for the...
...And 19 more matches
Adding Toolbars and Toolbar Buttons - Archive of obsolete content
« previousnext » adding a new toolbar adding new toolbars to
firefox is easy, but adding them the wrong way is very easy as well.
... toolbars in
firefox are very customizable.
...
firefox allows all of this by default, and if you don't pay attention to the details we describe here, your toolbar may not be as easy to customize as the rest.
...And 18 more matches
Creating a Microsummary - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) a microsummary generator is a set of instructions for creating a microsummary from the content of a page.
... in this tutorial we're going to create a microsummary generator for the spread
firefox home page that displays the current
firefox download count along with the label fx downloads; for example: 174475447 fx downloads.
...then just link to the microsummaries from within the pages themselves using a <link rel="microsummary"> element, f.e.: <head> <link rel="microsummary" href="index.php?view=microsummary"> </head> when
firefox encounters a <link rel="microsummary"> element, it loads the url in the href attribute.
...And 18 more matches
Index - Archive of obsolete content
found 1218 pages: # page tags and summary 1 xul landing, mozilla, xul xul (xml user interface language) is mozilla's xml-based language for building user interfaces of applications like
firefox.
... 436 index found 1218 pages: 437 international characters in xul javascript
firefox, gecko, guide, internationalization, javascript, mozilla, xpcom, xul gecko 1.8, as used in
firefox 1.5 and other applications, added support for non-ascii characters in javascript files loaded from xul files.
... 599 extensions xul, xul popup guide the main menu bar in
firefox has the id 'main-menubar'.
...And 18 more matches
Application Translation with Mercurial
gaia-* denotes branches of
firefox os, the operating system for mobile devices.
...
firefox and fx-* denote branches of
firefox for desktop, the browser for desktops and notebooks running, windows, mac os or linux.
... fennec and fennec-* denote branches of
firefox for mobile, the
firefox browser for the android operating system.
...And 18 more matches
BluetoothCharacteristicProperties - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbluetoothcharacteristicproperties experimentalchrome full support 56notes full support 56notes notes chromeos and macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support yessafari no support nowebview android no support nochrome android full support 5...
...6
firefox android no support noopera android full support yessafari ios no support nosamsung internet android full support 6.0authenticatedsignedwrites experimentalchrome full support 56notes full support 56notes notes chromeos and macos only.
...And 18 more matches
WebAssembly - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jswebassemblychrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet androi...
...d full support 7.0nodejs full support 8.0.0compileerrorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
...And 18 more matches
Media container formats (file types) - Web media technologies
codec name (short) full codec name browser compatibility1 3gp third generation partnership
firefox for android adts audio data transport stream
firefox2 flac free lossless audio codec chrome 56, edge 16,
firefox 51, safari 11 mpeg / mpeg-2 moving picture experts group (1 and 2) — mpeg-4 (mp4) moving picture experts group 4 chrome 3, edge 12,
firefox, internet explorer 9, opera 24, safari 3.1 ogg ogg chrome 3,
firefox ...
...3.5, edge 173 (desktop only), internet explorer 9, opera 10.50 quicktime (mov) apple quicktime movie only older versions of safari, plus other browsers that supported apple's quicktime plugin webm web media chrome 6, edge 173 (desktop only),
firefox 4, opera 10.6, safari (webrtc only) [1] unless otherwise specified, both mobile and desktop browser compatibility is implied if a browser is listed here.
... video codecs supported by 3gp codec browser support chrome edge
firefox safari avc (h.264) yes1,2 h.263 yes1 mpeg-4 part 2 (mp4v-es) yes1 vp8 yes1 [1]
firefox only supports 3gp on openmax-based devices, which currently means the boot to gecko (b2g) platform.
...And 18 more matches
WebAssembly
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jswebassemblychrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet androi...
...d full support 7.0nodejs full support 8.0.0compileerrorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
...And 18 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
37 boot2gecko boot2gecko,
firefox os, glossary, infrastructure, intro boot2gecko (b2g) is the engineering codename for
firefox os and refers to builds that haven't yet received official
firefox os branding.
... (
firefox os was also often called boot2gecko before the project had an official name.) 38 bootstrap bootstrap, css, glossary, intro, framework bootstrap is a free, open source html, css, and javascript framework for quickly building responsive websites.
... 69 certified apps, b2g,
firefox os, glossary, security, trustworthy certified means that an application, content or data transmission has successfully undergone evaluation by professionals with expertise in the relevant field, thereby indicating completeness, security and trustworthiness.
...And 17 more matches
Web audio codec guide - Web media technologies
for example,
firefox only supports aac if support is provided by the operating system or an external library.
...ound 96 kbps at 48 khz sample rate compression lossy maximum audio channels 48 (plus 16 low frequency enhancement channels) audio frequency bandwidth 0 hz - 96 khz (standard audio channels) 0 hz - 120 hz (lfe channels) latency 20 ms to 405 ms browser compatibility feature chrome edge
firefox internet explorer opera safari aac support yes[2] yes yes[1] 9 yes 3.1 container support mp4, adts, 3gp rtp / webrtc compatible yes licensing for streaming or distributing aac-encoded content: no license required; developers of codecs are required to obtain...
... a patent license through via licensing [1] due to patent issues,
firefox does not directly support aac.
...And 17 more matches
Handling Preferences - Archive of obsolete content
« previousnext » preferences in
firefox mozilla applications are highly customizable.
...to open the preferences window in
firefox, select the following from the main menu: on windows, tools > options on mac,
firefox > preferences on linux, edit > preferences note: keep in mind the usage of the terms "preferences" and "options" in different platforms.
...tip: you can use window.navigator.platform in your chrome code to figure out the operating system
firefox is running on.
...And 16 more matches
Creating a status bar extension - Archive of obsolete content
next » this is the first in a series of articles that will demonstrate how to create increasingly intricate extensions for the
firefox browser.
... note: the extension created by this tutorial won't work in
firefox that don't have a static status bar (that is,
firefox 4 and up).
...many of the concepts introduced here apply to any xul-based application; however, to keep from getting completely overwhelmed, we're going to focus specifically on
firefox.
...And 16 more matches
Complete - Archive of obsolete content
this page is for readers who have followed the custom toolbar button tutorial for
firefox, thunderbird and sunbird, or the custom toolbar button:seamonkey tutorial for seamonkey, and who want to learn more about developing extensions.
...it supports
firefox, thunderbird, sunbird and flock—these are referred to as "
firefox etc." in the rest of this page.
...the xpi contains: install.rdf information about the extension chrome.manifest registration data for
firefox etc.
...And 16 more matches
JavaScript modules - JavaScript
browser support use of native javascript modules is dependent on the import and export statements; these are supported in browsers as follows: import desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsimportchrome full support 61edge full support 16 full support 16 full support 15disable...
...d disabled from version 15: this feature is behind the experimental javascript features preference.
firefox full support 60 full support 60 no support 54 — 60disabled disabled from version 54 until version 60 (exclusive): this feature is behind the dom.modulescripts.enabled preference.
... to change preferences in
firefox, visit about:config.ie no support noopera full support 48safari full support 10.1webview android full support 61chrome android full support 61
firefox android full support 60 full support 60 no support 54 — 60disabled disabled from version 54 until version 60 (exclusive): this feature is behind the dom.modulescripts.enabled preference.
...And 16 more matches
Introduction - Archive of obsolete content
this tutorial is meant to be the stepping stone that will turn you into a professional
firefox extension developer in no time.
... xul school was created by appcoast (formerly glaxstar), one of the few companies dedicated to building high-quality
firefox extensions.
... a team of over a dozen xul developers conformed glaxstar at the time this tutorial was created, and the combined experiences of years creating
firefox extensions are reflected here.
...And 15 more matches
Mozilla Quirks Mode Behavior
removed in
firefox 50 (bug 648331).
...this behavior is being removed in
firefox 27, for interoperability.
... obsolete since gecko 35 (
firefox 35.0 / thunderbird 35.0 / seamonkey 2.32) (bug 95530) this quirk is now html5 conform and has been adopted in standards mode.
...And 15 more matches
Profile Manager
firefox and other xulrunner applications store user settings and data in special folders, called profiles.
...
firefox provides a built-in applet to manage these profiles, but it will eventually be going away (see bug 214675), so a new standalone profile manager application has been created, which works with any xulrunner application, and has many features not found in
firefox's built-in version.
... system requirements: mac: an intel processor, i386 or x86_64 linux: any version capable of running
firefox 4.0 windows: xp or later source code you can download the source as well: hg clone http://hg.mozilla.org/automation/profilemanager/ instructions for building can be found in build.txt.
...And 15 more matches
Index of archived content - Archive of obsolete content
ing content scripts reddit example port self contributor's guide classes and inheritance content processes getting started modules private properties
firefox compatibility module structure of the sdk porting the library detector program id sdk api lifecycle sdk and xul comparison testing the add-on sdk two types of scripts working with events xul migration guide high-level ap...
... release notes tools cfx cfx to jpm console jpm jpm-mobile jpmignore package.json tutorials add a context menu item add a menu item to
firefox adding a button to the toolbar annotator creating annotations displaying annotations implementing the widget overview storing annotations chrome authority creating event targets creating...
... reusable modules developing for
firefox mobile display a popup getting started (jpm) getting started (cfx) list open tabs listen for page load listening for load and unload localization logging modifying web pages based on url modifying the page hosted by a tab open a web page troubleshooting unit testing using xpcom without chrome using third-party modules (jpm) bootstrapped extensions code snippets alerts and notifications autocomplete bookmarks ...
...And 14 more matches
TPS Tests
tps consists of a
firefox extension of the same name, along with a python test runner, both of which live inside mozilla-central.
... the python test runner will read a test file (in javascript format), setup one or more
firefox profiles with the necessary extensions and preferences, then launch
firefox and pass the test file to the extension.
... set up an environment and run a test to run tps, you should create a new
firefox account using a restmail.net email address (strictly speaking, restmail isn't required, but it will allow tps to automatically do account confirmation steps for you.
...And 14 more matches
Window.open() - Web APIs
on
firefox and chrome (at least), this only works from the same parent, ie.
...
firefox (50.0.1) functions as described: from the same domain+port reopen with same name will access the previously created window.
...
firefox (51.) gets the handle but cannot run any element.focus() while chrome can run focus() from opener to child but not between siblings nor, reverse, from child to opener.
...And 14 more matches
@font-feature-values - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet@font-feature-valueschrome no support noedge no support no
firefox full support 34 full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 9.1webview android no support nochrome android no support no
firefox android full support 34 full support 34 full support 24disabled disabled f...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 9.3samsung internet android no support no@annotationchrome no support noedge no support no
firefox full support 34 full support 34 full support 24disabled disabled from version 24: this feature is behind the layout.css.font-featur...
...And 14 more matches
ui/button/action - Archive of obsolete content
experimental add a button to the
firefox user interface.
... usage creating buttons to create a button you must give it an id, an icon, and a label: var { actionbutton } = require("sdk/ui/button/action"); var button = actionbutton({ id: "my-button", label: "my button", icon: { "16": "./
firefox-16.png", "32": "./
firefox-32.png" }, onclick: function(state) { console.log("button '" + state.label + "' was clicked"); } }); by default, the button appears in the
firefox toolbar: however, users can move it to the
firefox menu panel using the toolbar customization feature: badged buttons new in
firefox 36.
... if you specify multiple icons,
firefox will select the best-fitting icon based on the device screen resolution and the place the icon appears.
...And 13 more matches
ui/button/toggle - Archive of obsolete content
experimental add a toggle button to the
firefox user interface.
... usage creating buttons to create a button you must give it an id, an icon, and a label: var { togglebutton } = require("sdk/ui/button/toggle"); var button = togglebutton({ id: "my-button", label: "my button", icon: { "16": "./
firefox-16.png", "32": "./
firefox-32.png" }, onchange: function(state) { console.log(state.label + " checked state: " + state.checked); } }); by default, the button appears in the
firefox toolbar: however, users can move it to the
firefox menu panel: badged buttons new in
firefox 36.
... if you specify multiple icons,
firefox will select the best-fitting icon based on the device screen resolution and the place the icon appears.
...And 13 more matches
Chapter 1: Introduction to Extensions - Archive of obsolete content
this document was authored by hideyuki emura and was originally published in japanese for the
firefox developers conference summer 2007.
... emura-san is a co-author of
firefox 3 hacks (o'reilly japan, 2008.) introduction if you're reading this guide, you’ve probably used
firefox before.
... perhaps the first time you looked at
firefox, you may have been surprised to see that it has a much simpler structure than other full-featured browsers, such as opera or safari.
...And 13 more matches
Index
found 172 pages: # page tags and summary 1
firefox firefox, landing, mozilla here you can learn about how to contribute to the
firefox project and you will also find links to information about the construction of
firefox add-ons, using the developer tools in
firefox, and other topics.
... 3 building
firefox with rust code build documentation, gecko, build, rust in may 2015 the rust programming language reached its 1.0 stability milestone, and various experiments with writing parts of gecko in rust began.
... rust code first shipped in august 2016 with the release of
firefox 48.
...And 13 more matches
IDBKeyRange - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbkeyrangechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full su...
...pport 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
... 8samsung internet android full support yesboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support ...
...And 13 more matches
PasswordCredential - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpasswordcredential experimentalchrome full support 51edge full support ≤79
firefox ?
... webview android full support 51chrome android full support 51
firefox android ?
... samsung internet android full support 5.0passwordcredential() constructor non-standardchrome full support 51edge full support ≤79
firefox ?
...And 13 more matches
Web video codec guide - Web media technologies
it's worth noting, however, that at least for
firefox and chrome, the levels are actually ignored at this time when performing software decoding, and the decoder just does the best it can to play the video given the settings provided.
...le) or 4:2:0 high 8 or 10 4:0:0 (greyscale), 4:2:0, or 4:4:4 professional 8, 10, or 12 4:0:0 (greyscale), 4:2:0, 4:2:2, or 4:4:4 hdr support yes variable frame rate (vfr) support yes browser compatibility feature chrome edge
firefox internet explorer opera safari av1 support 70 75 67 no 57 no container support isobmff[1], mpeg-ts, mp4, webm rtp / webrtc compatible yes supporting/maintaining organization alliance for open media specification https://aomediacodec.github.io/av...
...eyscale), 4:2:0, and 4:2:2 high 4:4:4 predictive 8 to 14 4:0:0 (greyscale), 4:2:0, 4:2:2, and 4:4:4 hdr support yes; hybrid log-gamma or advanced hdr/sl-hdr; both are part of atsc variable frame rate (vfr) support yes browser compatibility feature chrome edge
firefox internet explorer opera safari avc/h.264 support 4 12 35[1] 9 25 3.2 container support 3gp, mp4, webm rtp / webrtc compatible yes supporting/maintaining organization mpeg / itu specification https://mpeg.chiariglione.org/standards/mpeg-4/advance...
...And 13 more matches
OpenSearch description format
opensearch is supported by (at least)
firefox, edge, internet explorer, safari, and chrome.
... (see reference material for links to other browsers' documentation.)
firefox also supports additional features not in the opensearch standard, such as search suggestions and the <searchform> element.
... this article focuses on creating opensearch-compatible search plugins that support these additional
firefox features.
...And 13 more matches
Deploying a Plugin as an Extension - Archive of obsolete content
one of the new features available in
firefox 1.5 is the ability to place browser plugins in a
firefox extension.
... this feature is particularly useful for vendors who wish to deploy the plugin even if
firefox is not currently installed, or who want to use the automatic extension update mechanism to update their plugin to a newer version.
...when this method is used, you can choose to either place the plugin into the plugins directory, or, on windows, place it into your own directory and modify the windows registry to let
firefox know where to find the plugin.
...And 12 more matches
Obsolete Build Caveats and Tips
these tips, while helpful, are jarring and superfluous to the majority of new mozilla builders who are mainly interested in building the latest version of
firefox.
... obsolete caveats and tips from simple_
firefox_build install a version of visual studio that supports c++ development: vs 2012 for windows desktop pro or express (free), or vc++ 2010 pro or express (free), or vc++ 2008 pro or express with sp1 (free) (warning !
... from
firefox 10, the compilator is visual studio 2010; if you want to use it, you must use a previous version of it !), or 2005 professional from build_instructions those who need to work with the code for
firefox 3/mozilla 1.9 and earlier can check out the latest source using cvs.
...And 12 more matches
How to get a stacktrace with WinDbg
(to get a stacktrace for thunderbird or some other product, substitute the product name where ever you see
firefox in this instructions.) requirements to get such a stacktrace you need to install the following software: debugging tools for windows microsoft distributes the debugging tools for windows for free, those include windbg which you will need here.
... a
firefox nightly or release you need a
firefox version for which symbols are availables from the mozilla symbol server to use with windbg.
... you can use any official nightly build or released version of
firefox from mozilla.
...And 12 more matches
FileSystemEntry - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystementry experimentalchrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: entryedge full support ...
... 79prefixed full support 79prefixed prefixed implemented with the vendor prefix: webkit
firefox full support 50ie no support noopera no support nosafari full support 11.1webview android full support ≤37alternate name full support ≤37alternate name alternate name uses the non-standard name: entrychrome android full support 18alternate name full support 18alternate name alter...
...nate name uses the non-standard name: entry
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcopyto experimentaldeprecatednon-standardchrome full support 8edge full support 79
firefox no support noie no support noopera no su...
...And 12 more matches
Proxy Auto-Configuration (PAC) file - HTTP
in chrome (versions 52 to 73), you can disable this by setting pachttpsurlstrippingenabled to false in policy or by launching with the --unsafe-pac-url command-line flag (in chrome 74, only the flag works, and from 75 onward, there is no way to disable path-stripping; as of chrome 81, path-stripping does not apply to http urls, but there is interest in changing this behavior to match https); in
firefox, the preference is network.proxy.autoconfig_url.include_path.
... the javascript function returns a single string if the string is null, no proxies should be used the string can contain any number of the following building blocks, separated by a semicolon: direct connections should be made directly, without any proxies proxy host:port the specified proxy should be used socks host:port the specified socks server should be used recent versions of
firefox support as well: http host:port the specified proxy should be used https host:port the specified https proxy should be used socks4 host:port socks5 host:port the specified socks server (with the specified sock version) should be used if there are multiple semicolon-separated settings, the left-most setting will be used, until
firefox fails to establish the connection to the proxy.
... example convert_addr("104.16.41.2"); // returns the decimal number 1745889538 myipaddress() syntax myipaddress() parameters (none) returns the server ip address of the machine
firefox is running on, as a string in the dot-separated integer format.
...And 12 more matches
ui/sidebar - Archive of obsolete content
from
firefox 33 onwards you can pass a browserwindow into these methods, and they will then operate on the specified window.
... alternatively, the view->sidebar submenu in
firefox will contain a new item which the user can use to show or hide the sidebar: the sidebar generates a show event when it is shown and a hide event when it is hidden.
...unlike modules such as panel, the content must be local, typically loaded from the add-on's data directory via a url constructed using self.data.url(): var sidebar = require("sdk/ui/sidebar").sidebar({ id: 'my-sidebar', title: 'my sidebar', url: require("sdk/self").data.url("sidebar.html") }); from
firefox 34, you can use "./sidebar.html" as an alias for self.data.url("sidebar.html").
...And 11 more matches
Enhanced Extension Installation - Archive of obsolete content
background there are several flaws with extension1 installation in
firefox2 1.0, including: it is very difficult for a third party application with its own managed install process to install an extension into
firefox.
... first it must locate the
firefox executable, then run it with the -install-global-extension command line flag, which installs from a xpi into the
firefox application directory.
... aside from the work of locating the
firefox executable in the first place (which varies from platform to platform), this is very limiting because: it forces the third party application to package its
firefox integration hooks as a xpi.
...And 11 more matches
List of Mozilla-Based Applications - Archive of obsolete content
oder geocoding & data on a map amarok xul remote remote control for amarok music player ample sdk javascript gui-framework aol instant messenger im client uses nss apache web server doesn't use nss by default, but can be configured to use nss with mod_nss ssl module apicawatch site performance monitoring tool uses
firefox as part of its monitoring package astyle css editor editing tool atmail webmail client aviva for java mainframe connectivity product uses mozilla rhino babelgum internet tv service basilisk pre-servo xul-based web browser uses most of the
firefox 55 source code batik java-based toolkit uses mozilla rhino ...
... bitbox security focused browser seemingly based on
firefox blackbird browser for african american community bluegriffon wysiwyg editor next generation version of composer buzzbird twitter client built on xulrunner camino browser 2.5m downloads and ~400,000 active users ...
...unner) chromium and google chrome web browser uses mozilla nss and npapi libraries chromeless browser with html-based interface classilla mozilla browser for mac os 9 clines a clone of color lines (game) standalone version cloud web operating system cloud browse iphone/ipad/ipod touch browser seems to be
firefox running remotely on servers that people access through device conkeror keyboard-oriented browser convertigo enterprise mashup server server tool for transactional web scraping and for web clipping cometbird another
firefox mod modified version of
firefox correo email couac (fr) web-based email and jabber app c...
...And 11 more matches
Archived Mozilla and build documentation - Archive of obsolete content
chromeless [this project may not be active — check github https://github.com/mozilla/chromeless] creating a
firefox sidebar extension this article describes how to create a registered sidebar for
firefox 2 or greater.
... creating a skin for
firefox/getting started download the latest version of
firefox and install it.
... download manager improvements in
firefox 3
firefox 3 offers improvements to the download manager that allow multiple progress listeners, use of the storage api for data management, download resuming, and more.
...And 11 more matches
Extentsions FAQ - Archive of obsolete content
option #3 install status buttons 1.0 <https://addons.mozilla.org/
firefox/1272/> "lets you put toolbar buttons at either end of the status-bar.
... friday, september 29 - october 6, 2006 (↑ top) is there anyway, via plugin or extension, for
firefox to mimic the functionality of ie in this respect?
... the ietab (opens ie in a
firefox tab) should be able do this if you set it to always open "file://*" urls in an ie tab.
...And 11 more matches
Strategies for carrying out testing - Learn web development
for example, if you live in western europe or north america, you will know that a lot of people use windows and mac desktops/laptops, where the main browsers are chrome,
firefox, safari, ie, and edge.
... lots of people use ios and android, so you probably also want to test the latest versions of ios safari, the last couple of versions of the old android stock browser, and chrome and
firefox for ios and android.
... this gives us the following support chart so far: a grade: chrome and
firefox for windows/mac, safari for mac, edge and ie for windows (last two versions of each), ios safari for iphone/ipad, android stock browser (last two versions) on phone/tablet, chrome and
firefox for android (last two versions) on phone tablet b grade: ie 9 for windows c grade: n/a if you live somewhere else, or are working on a site that will serve somewhere else (e.g.
...And 11 more matches
Limitations of chrome scripts
this page describes patterns that used to work in the chrome process that will no longer work in multiprocess
firefox.
... these are the sorts of things that will break an old add-on in multiprocess
firefox.
... the rest of this page documents patterns that don't work in multiprocess
firefox as well as how are shims try to paper over the problem.
...And 11 more matches
Setting up an update server
the goal of this document is to provide instructions for installing a locally-served
firefox update.
...for example, if you want the nightly mar from 2019-09-17 for a 64 bit windows machine, you probably want the mar located at https://archive.mozilla.org/pub/
firefox/nightly/2019/09/2019-09-17-09-36-29-mozilla-central/
firefox-71.0a1.en-us.win64.complete.mar.
...here is an example of an appropriate mar file to use: https://archive.mozilla.org/pub/
firefox/releases/69.0b9/update/win64/
firefox-69.0b9.complete.mar.
...And 11 more matches
nsIAppShellService
inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by: @mozilla.org/appshell/appshellservice;1 as a service: var appshellservice = components.classes["@mozilla.org/appshell/appshellservice;1"] .getservice(components.interfaces.nsiappshellservice); method overview void closetoplevelwindow(in nsixulwindow awindow); obsolete since gecko 1.8 void createhiddenwindow(in nsiappshell aappshell); native code only!
...obsolete since gecko 1.8 methods closetoplevelwindow() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) close a window.
... createstartupstate() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) creates the initial state of the application by launching tasks specfied by "general.startup.*" prefs.
...And 11 more matches
MSGestureEvent - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmsgestureevent non-standardchrome no support noedge no support 12 — 79
firefox no support noie full support 10op...
...era no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nomsgestureevent() constructor non-standardchrome no support noedge no support 12 — 79
firefox no support noie ...
... full support 10opera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support noexpansion non-standardchrome no support noedge no support 12 — 79
firefox no support ...
...And 11 more matches
min-width - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmin-widthchrome full support 1edge full support 12
firefox full support 1notes full support 1n...
...
firefox supports applying min-width to table elements.ie full support 7opera full support 4notes full support 4notes notes css 2.1 leaves the behavior of min-width with table undefined.
... opera supports applying min-width to table elements.safari full support 1webview android full support 4.4chrome android full support 18
firefox android full support 4notes full support 4notes notes css 2.1 leaves the behavior of min-width with table undefined.
...And 11 more matches
Getting Started (jpm) - Archive of obsolete content
you can use jpm from
firefox 38 onwards.
... prerequisites to create add-ons for
firefox using the sdk, you'll need:
firefox version 38 or later.
... if you need to work with earlier versions of
firefox, you'll need to use the old cfx tool.
...And 10 more matches
Tabbed browser - Archive of obsolete content
here you should find a set of useful code snippets to help you work with
firefox's tabbed browser.
...of course the entire application
firefox is called "a browser".
... within the
firefox browser are tabs and inside each tab is a browser, both in the common sense of a web page browser and the xul sense of a browser element.
...And 10 more matches
Microsummary XML grammar reference - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) this article provides detailed information about the xml grammar used to build microsummary generators, describing each element and their attributes.
...example the microsummary generator created in the creating a microsummary tutorial: <?xml version="1.0" encoding="utf-8"?> <generator xmlns="http://www.mozilla.org/microsummaries/0.1" name="
firefox download count"> <template> <transform xmlns="http://www.w3.org/1999/xsl/transform" version="1.0"> <output method="text"/> <template match="/"> <value-of select="id('download-count')"/> <text> fx downloads</text> </template> </transform> </template> <pages> <include>http://(www\.)?spread
firefox\.com/(index\.php)?</include> </pages> </generator> namespace the namespace uri for microsummary generator xml documents is: http://www.mozilla.org/microsummaries/...
...only relevant for generators dynamically created by
firefox code and extensions.
...And 10 more matches
Gecko info for Windows accessibility vendors
definitions here are some basic definitions that you'll need for this document to make sense: gecko: the rendering engine for
firefox, thunderbird, nvu, mozilla seamonkey and other applications.
...however, exposing the entire dom to external software packages is quite involved, partially because changes to the dom in
firefox must occur on the main thread.
... xul: extensible user-interface language the xml-based language used by
firefox and mozilla to develop the ui.
...And 10 more matches
Chrome registration
firefox 2, thunderbird 2, and seamonkey 1.1 will not find the chrome when packagename is mixed case.
...
firefox 3, thunderbird 3, and seamonkey 2 support mixed case.
...prior to
firefox 4, files in the components directory were registered automatically.
...And 10 more matches
Creating a Language Pack
please consult the documentation on localized builds on
firefox-source-docs.
... pre-build steps in the .mozconfig, you want to have mk_add_options moz_objdir=@topsrcdir@/obj-
firefox-build ac_add_options --disable-compile-environment ac_add_options --with-l10n-base=../l10n-central # path relative to moz_objdir ac_add_options --enable-application=[browser or mail] the given path should have your localization directory as child (i.e., a subdirectory ab-cd where ab-cd is your locale code).
... you still need to specify which application you're localizing (e.g., for
firefox, that's browser, thunderbird would be mail).
...And 10 more matches
Configuring Build Options
note: do not make substantive changes to this document without consulting benjamin smedberg <benjamin@smedbergs.us> or one of the build-config peersthis document details how to configure
firefox builds.
... setting the mozconfig path: export mozconfig=$home/mozilla/mozconfig-
firefox calling the file .mozconfig (with a leading dot) is also supported, but this is not recommended because it may make the file harder to find.
... building with an objdir this means that the source code and object files are not intermingled in your directory system and you can build multiple applications (e.g.,
firefox and thunderbird) from the same source tree.
...And 10 more matches
Troubleshooting XPCOM components registration
load failure of binary components on the mozilla trunk (
firefox 3, xulrunner 1.9), components that fail to load will print an error to the error console.
...if the error appears, you can use nspr logging to see additional information about the failure by running
firefox from a command prompt: rem close all
firefox windows!
... set nspr_log_modules=nsnativemoduleloader:5 set nspr_log_file=c:\path\to\logfile "c:\program files\mozilla
firefox\
firefox.exe" examining this log for warning and errors may provide valuable clues why the component failed to load.
...And 10 more matches
BluetoothRemoteGATTDescriptor - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbluetoothremotegattdescriptor experimentalchrome full support 57notes full support 57notes notes macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support 44notes full support 44notes notes macos only.
... full support 57notes notes windows 10.safari no support nowebview android no support nochrome android full support 57
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 7.0characteristic experimentalchrome full support 57notes ...
...And 10 more matches
Guide to the Fullscreen API - Web APIs
when a fullscreen request fails,
firefox will log an error message to the web console explaining why the request failed.
... prefixing note: currently, only
firefox 64 and chrome 71 supports this unprefixed.
...here is the table summarizing the prefixes and name differences between them: standard webkit (safari) / blink (chrome & opera) / edge gecko (
firefox) internet explorer document.fullscreen webkitisfullscreen mozfullscreen - document.fullscreenenabled webkitfullscreenenabled mozfullscreenenabled msfullscreenenabled documentorshadowroot.fullscreenelement webkitfullscreenelement mozfullscreenelement msfullscreenelement document.onfullscreenchange onwebkitfullscreenchange onmozfullscreenchange onmsfullscreenchange document.onfullscreenerror ...
...And 10 more matches
URLUtilsReadOnly - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung interneturlutilsreadonlychrome no support noedge no support no
firefox full support 57 full support 57 ...
... no support 3.5 — 57notes notes
firefox has a bug whereby single quotes contained in urls are escaped when accessed via url apis (see bug 1386683).ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 57 full support 57 no support 4 — 57notes notes
firefox has a bug whereby single quotes contained in urls are escaped when accessed via url apis (see...
... bug 1386683).opera android no support nosafari ios no support nosamsung internet android no support nohash experimentalchrome no support noedge no support no
firefox full support 38 full support 38 no support 3.5 — 38notes notes before
firefox 38,
firefox returned the hash percent encoded.
...And 10 more matches
Getting started (cfx) - Archive of obsolete content
use cfx only if you need to work with
firefox 38 or earlier.
... see: getting started with jpm cfx to jpm prerequisites to create add-ons for
firefox using the sdk, you'll first need to follow the instructions to install and activate the sdk.
... next, save these three icon files to the "data" directory: icon-16.png icon-32.png icon-64.png back at the command prompt, type: cfx run this is the sdk command to run a new instance of
firefox with your add-on installed.
...And 9 more matches
tabbrowser - Archive of obsolete content
note: starting in
firefox 3 (xulrunner/gecko 1.9), this is only used in the main
firefox window and cannot be used in other xul windows by third-party applications or extensions.
... onbookmarkgroup not in
firefox type: script code this code executes when the user chooses the "bookmark this group of tabs" command.
... onnewtab not in
firefox type: script code this script will be called when the new tab button is clicked.
...And 9 more matches
Debugging on Mac OS X
this document explains how to debug mozilla-derived applications such as
firefox, thunderbird, and seamonkey on macos using xcode.
...see building
firefox for macos if you need help creating your own build.
... debugging
firefox on macos 10.14+ macos 10.14 introduced notarization and hardened runtime features for improved application security.
...And 9 more matches
DMD
dmd (short for "dark matter detector") is a heap profiler within
firefox.
...it helps us reduce the "heap-unclassified" value in
firefox's about:memory page, and also detects if any heap blocks are reported twice.
... building and running nightly
firefox the easiest way to use dmd is with the normal nightly
firefox build, which has dmd already enabled in the build.
...And 9 more matches
Creating a Cookie Log
creating a cookie log is often necessary to troubleshoot problems with
firefox's cookie handling.
...please follow the instructions below to run
firefox with cookie logging enabled.
... change to your
firefox directory (usually c:\program files\mozilla
firefox) type "set nspr_log_file=c:\temp\cookie-log.txt", enter type "set nspr_log_modules=cookie:4" and press enter run
firefox by typing "
firefox.exe" and pressing enter.
...And 9 more matches
ByteLengthQueuingStrategy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbytelengthqueuingstrategy experimentalchrome full support 59edge full support 16
firefox full support 57disabled full suppo...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 46safari ?
... webview android full support 59chrome android full support 59
firefox android full support 57disabled full support 57disabled disabled from version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true).
...And 9 more matches
CountQueuingStrategy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcountqueuingstrategy experimentalchrome full support 59edge full support 16
firefox full support 57disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 46safari ?
... webview android full support 59chrome android full support 59
firefox android full support 57disabled full support 57disabled disabled from version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true).
...And 9 more matches
MediaMetadata - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmediametadata experimentalchrome full support 57edge no support no
firefox full support 71ie no support ...
... webview android no support nochrome android full support 57
firefox android ?
... samsung internet android full support 7.0mediametadata() constructor experimentalchrome full support 57edge no support no
firefox full support 71ie no support noopera full support yessafari ?
...And 9 more matches
WindowOrWorkerGlobalScope.setTimeout() - Web APIs
take this example: function cb() { f(); settimeout(cb, 0); } settimeout(cb, 0); setinterval(f, 0); in chrome and
firefox, the 5th successive callback call is clamped; safari clamps on the 6th call; in edge its the 3rd one.
...
firefox) — on setinterval() calls made from anywhere, or when a nested settimeout() is called where the nesting level is at least a certain depth.
... note: the minimum delay, dom_min_timeout_value, is 4 ms (stored in a preference in
firefox: dom.min_timeout_value), with a dom_clamp_timeout_nesting_level of 5.
...And 9 more matches
max-width - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmax-widthchrome full support 1edge full support 12
firefox full support 1notes full support 1n...
...
firefox supports applying max-width to table elements.ie full support 7opera full support 4notes full support 4notes notes css 2.1 leaves the behavior of max-width with table undefined.
... opera supports applying max-width to table elements.safari full support 1webview android full support 4.4chrome android full support 18
firefox android full support 4notes full support 4notes notes css 2.1 leaves the behavior of max-width with table undefined.
...And 9 more matches
Bootstrapped extensions - Archive of obsolete content
gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) introduces bootstrapped extensions.
... in
firefox 10 and later the chrome.manifest file located in the root of the add-on's xpi (i.e.
...in
firefox 8 and 9 you had to load/unload the manifest manually using nsicomponentmanager.addbootstrappedmanifestlocation() and nsicomponentmanager.removebootstrappedmanifestlocation().
...And 8 more matches
Add-ons - Archive of obsolete content
add-on sdk using the add-on sdk, you can create
firefox add-ons.
... bootstrapped extensions browser.bookmarks.export( function() {...} // optional function ) code snippets … creating custom
firefox extensions with the mozilla build system there is a wealth of material on creating extensions for
firefox.
...
firefox addons developer guide the original document is in japanese and distributed via the xuldev.org website.
...And 8 more matches
Microsummary topics - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) programmatically installing a microsummary generator to programmatically install a microsummary generator -- for example, in an extension that helps users create custom generators for their favorite sites -- obtain a reference to the nsimicrosummaryservice interface implemented by the nsimicrosummaryservice component, then call its installgenerator() method, passing it an xml document containing the generator.
... for example, the following code snippet installs the microsummary generator from the creating a microsummary tutorial: var generatortext = ' \ <?xml version="1.0" encoding="utf-8"?> \ <generator xmlns="http://www.mozilla.org/microsummaries/0.1" \ name="
firefox download count" \ uri="urn:{835daeb3-6760-47fa-8f4f-8e4fdea1fb16}"> \ <template> \ <transform xmlns="http://www.w3.org/1999/xsl/transform" version="1.0"> \ <output method="text"/> \ <template match="/"> \ <value-of select="id(\'download-count\')"/> \ <text> fx downloads</text> \ </template> \ </transform> \ </template> \ <pages> <include>http://(www\.)?spread
firefox\.com/(index\.php)?</include> </pages> </generator> \ '; var dompa...
...note: when web sites install generators via window.sidebar.addmicrosummarygenerator(),
firefox sets their uri attribute to urn:source:sourceurl, where sourceurl is the url from which the generator was downloaded.
...And 8 more matches
2006-11-03 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - october 27, 2006 - november 3, 2006 announcements none this week.
... discussions google adsense plugin for
firefox a user post a link to a plugin for displaying "adsense earning" within the status bar of the browser without logging into google.
... request to add option for removal of
firefox profiles during setup or uninstall a user suggests an option to remove profiles during setup or uninstall.
...And 8 more matches
2006-11-04 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - october 27, 2006 - november 3, 2006 announcements none this week.
... discussions adsense plugin for
firefox a user post a link to a plugin for displaying "adsense earning" within the status bar of the browser without logging into google.
... to add option for removal of
firefox profiles during setup or uninstall a user suggests an option to remove profiles during setup or uninstall.
...And 8 more matches
Building Mozilla XForms - Archive of obsolete content
getting started things to know first: the xforms extension has a dependency on the schema-validation extension, so you need to build both (that's done automatically) mozilla switched from cvs to mercurial starting with
firefox 3.5.
... before you can start building the xforms extension, you should check your mozilla build environment by doing a regular
firefox build.
...the following table gives you an overview of which version you want to build:
firefox version gecko/toolkit version source code notes status
firefox 2.0 gecko 1.8.1 cvs, branch mozilla_1_8_branch not developed any more last release: 0.8.5ff2
firefox 3.0 gecko 1.9.0 cvs, branch head not developed any more last release: 0.8.5ff3
firefox 3.5 gecko 1.9.1 xforms/schema-validation code does not build with
firefox 3.5 any more not supported
firefox 3.6 gecko 1.9.2 xforms/schema-validation code does not build with
firefox 3.6 any more not developed any more last release: 0.8.6
firefox 4 gecko 2.0 mercurial, repositories mozilla-central xforms schema-validation mostly works upcoming 0.8.7 release if y...
...And 8 more matches
Add-ons
add-ons allow developers to extend and modify the functionality of
firefox.
... among other things, an add-on could: change the appearance or content of particular websites modify the
firefox user interface add new features to
firefox there are several types of add-ons, but the most common type are extensions.
... developing extensions in the past, there were several toolsets for developing
firefox extensions, but as of november 2017, extensions must be built using webextensions apis.
...And 8 more matches
Capturing a minidump
(you'll want the 32-bit version of windbg only if you are using a 32-bit version of
firefox) then install it, the standard settings in the installation process are fine.
... capture a minidump connect
firefox to the debugger.
... if
firefox is not already running, then open windbg from the start menu (start->all programs->debugging tools for windows->windbg).
...And 8 more matches
How to get a stacktrace for a bug report
requirements you need a binary build of
firefox from mozilla.org.
... note: when filing a crash report, it is important to know whether the crash occurs with
firefox safe mode.
... the mozilla crash reporter window should automatically come up after
firefox crashes.
...And 8 more matches
OS.File for the main thread
let decoder = new textdecoder(); // this decoder can be reused for several reads let promise = os.file.read("file.txt"); // read the complete file as an array promise = promise.then( function onsuccess(array) { return decoder.decode(array); // convert this array to a text } ); this example requires
firefox 18 or a more recent version.
... these examples require
firefox 19 or a more recent version.
... let promise = os.file.copy("oldname.txt", "newname.txt"); this example requires
firefox 16 or a more recent version.
...And 8 more matches
Profiling with the Gecko Profiler and Local Symbols on Windows
you probably need a 64 bit build of
firefox for this to work, though.
... it looks like we consume too much memory when creating the symbol table for this to work in 32 bit
firefox builds.
... unfortunately, 32 bit is still the default when building
firefox locally.
...And 8 more matches
Index
you might have been motivated to work with nss because it is used by the mozilla applications such as
firefox, thunderbird, etc.
...(note: mozilla does not distribute a "fips mode"-ready nss with
firefox.) this page attempts to provide an informal explanation of what it is, who would use it, and why.
... would you like to get involved and help us to improve the core security of mozilla
firefox and other applications that make use of nss?
...And 8 more matches
Index
7 gcintegration developing mozilla,
firefox, garbage collection, intermediate, intro, jsapi, needsupdate, spidermonkey, tools, memory the spidermonkey garbage collector (gc) will be changing a lot in the future.
... 13 jit optimization outcomes beginner,
firefox, intro, needscontent, spidermonkey spidermonkey's optimizing jit, ionmonkey, uses different optimization strategies to speed up various operations.
... 518 parser api api, guide, javascript, spidermonkey example: 519 profiling spidermonkey guide 1.) get yourself an optimized libxul build of
firefox, with debugger info.
...And 8 more matches
IDBFactory - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbfactorychrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitcmpchrome ...
...And 8 more matches
max-height - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmax-heightchrome full support 18edge full support 12
firefox full support 1notes full support ...
...
firefox supports applying max-height to table elements.ie full support 7opera full support 7notes full support 7notes notes css 2.1 leaves the behavior of max-height with table undefined.
... opera supports applying max-height to table elements.safari full support 1.3webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0fit-content experimentalchrome full support 46 full support 46 full support 25prefixed pref...
...And 8 more matches
Image file type and format guide - Web media technologies
abbreviation file format mime type file extension(s) browser compatibility apng animated portable network graphics image/apng .apng chrome, edge,
firefox, opera, safari bmp bitmap file image/bmp .bmp chrome, edge,
firefox, internet explorer, opera, safari gif graphics interchange format image/gif .gif chrome, edge,
firefox, internet explorer, opera, safari ico microsoft icon image/x-icon .ico, .cur chrome, edge,
firefox, internet explorer, opera, safari jpeg joint photograp...
...hic expert group image image/jpeg .jpg, .jpeg, .jfif, .pjpeg, .pjp chrome, edge,
firefox, internet explorer, opera, safari png portable network graphics image/png .png chrome, edge,
firefox, internet explorer, opera, safari svg scalable vector graphics image/svg+xml .svg chrome, edge,
firefox, internet explorer, opera, safari tiff tagged image file format image/tiff .tif, .tiff none built-in; add-ons required webp web picture format image/webp .webp chrome, edge,
firefox, opera the abbreviation for each format links to a longer description of the format, its capabilities, and detailed browser compatibility information; including which versions introduced support and specific special features that m...
... mime type image/apng file extension(s) .apng specification wiki.mozilla.org/apng_specification browser compatibility chrome 59, edge 12,
firefox 3, opera 46, safari 8 maximum dimensions 2,147,483,647×2,147,483,647 pixels supported color modes color mode bits per component (d) description greyscale 1, 2, 4, 8, and 16 each pixel consists of a single d-bit value indicating the brightness of the greyscale pixel.
...And 8 more matches
Interacting with page scripts - Archive of obsolete content
expose objects to page scripts until
firefox 30, you could use unsafewindow to perform the reverse procedure, and make objects defined in content scripts available to page scripts: // content-script.js unsafewindow.contentscriptobject = {"greeting" : "hello from add-on"}; // page-script.js var button = document.getelementbyid("show-content-script-var"); button.addeventlistener("click", function() { // access object defined by conten...
...t script console.log(window.contentscriptobject.greeting); // "hello from add-on" }, false); after
firefox 30, you can still do this for primitive values, but can no longer do it for objects.
...age script can call the function as foo.greetme(): <html> <head> </head> <body> <input id="test" type="button" value="click me"/> <script> var test = document.getelementbyid("test"); test.addeventlistener("click", function() { alert(window.foo.greetme("page script")); }, false); </script> </body> </html> reverting to the old behavior you can switch
firefox back to the old behavior in which content scripts could expose objects and functions to page scripts using unsafewindow.
...And 7 more matches
panel - Archive of obsolete content
to do this, save the html in your add-on's data directory and load it using the data.url() method exported by the self module, like this: var mypanel = require("sdk/panel").panel({ contenturl: require("sdk/self").data.url("myfile.html") }); mypanel.show(); from
firefox 34, you can use "./myfile.html" as an alias for self.data.url("myfile.html").
... getting user input note: this example uses the action button api, which is only available from
firefox 29 onwards.
... scripting trusted panel content note: this example uses the action button api, which is only available from
firefox 29 onwards.
...And 7 more matches
Low-Level APIs - Archive of obsolete content
chrome the chrome module gives an add-on sdk add-on access to the components object, which in turn gives it access to a large set of privileged low-level
firefox apis.
... dev/panel enables you to extend the
firefox developer tools.
... frame/hidden-frame creates
firefox frames (i.e.
...And 7 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
as a rough overview this is a version string split by periods, some examples: 2.0 1.0b1 3.0pre1 5.0.1.2 note: before
firefox 1.5 the more basic
firefox version format was used: major.minor.release.build[+] where only digits were allowed.
... the toolkit version format supports the
firefox version format but allows greater flexibility.
...
firefox 3 note in applications based on gecko 1.9 you can also use a targetapplication entry with an id toolkit@mozilla.org and minversion and maxversion that match the toolkit version of the running application.
...And 7 more matches
Migrating raw components to add-ons - Archive of obsolete content
historically,
firefox has allowed third party contributions to be added to the application's components/ directory, but beginning with
firefox 3.6, this is no longer permitted.
... components added in this way are invisible to users and cannot be managed through the
firefox add-ons manager.
... what's worse, though, is that these components don't have a mechanism for specifying the versions of
firefox with which they are compatible, leading to poor integration and instability as users upgrade their
firefox installations.
...And 7 more matches
XPCOM Objects - Archive of obsolete content
firefox can be seen as composed of two layers.
...you can think of xpcom as a reference to all the capabilities available on the lower layers of
firefox.
...if you want to see the list in your current
firefox installation, just run the following code in the error console: var str = ""; for (var i in components.classes) { str += i + "\n" }; str a run on
firefox 3.6.2 with a few extensions installed yields 876 strings.
...And 7 more matches
Downloading Nightly or Trunk Builds - Archive of obsolete content
cutting edge
firefox downloads.
...so to figure out how to download a cutting edge or bleeding edge or 'beta' version of
firefox, you need to look for a "build" (which is developer-speak for the packaged files you can download) of 1.9.1 (the number of the underlying 'platform' called 'gecko' or 'mozilla' that
firefox uses).
... as it turns out there is a platform number for every
firefox number, but they are not the same number.
...And 7 more matches
Building accessible custom components in XUL - Archive of obsolete content
firefox 1.5 is the first browser to support dhtml accessibility; it maps the declarations within the html page to the underlying accessibility architecture so that assistive technologies can "read" a web page and know how to present these complex controls to the end user.
...(the
firefox interface itself is built in xul, as well as the graphical interface presented by
firefox extensions.) xul itself has a much richer set of built-in controls than html.
...
firefox ships with a tabbox element and a tree element, and these elements are fully accessible out-of-the-box.
...And 7 more matches
XULRunner tips - Archive of obsolete content
extension:manager-themes javascript console chrome://global/content/console.xul global:console about:config chrome://global/content/config.xul developer extensions venkman need a custom build or a compatible extension need to edit compatibility in needs a method to start venkman (usually by overlaying the main xul file, similar to existing code for
firefox, suite, etc.) the function toopenwindowbytype() needs to be defined.
... for another application you can skip to the next step) follow the instructions above through "unzip the package." create a file in the extensions directory of your application with the same name as the dom inspector id (inspector@mozilla.org) containing one line of text -- the exact path to the root directory of dom inspector (where the install.rdf is) like this one: /home/username/.mozilla/
firefox/numbersandletters/extensions/inspector@mozilla.org/ now create a javascript file with the following code and include it in the main window of your application: function startdomi() { // load the window datasource so that browser windows opened subsequent to dom // inspector show up in the dom inspector's window list.
...this way i have one directory where i keep all my mozilla extensions, and each application (
firefox, thunderbird) simply contains a few small, one line files pointing to the location of the extensions.
...And 7 more matches
2006-10-26 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - october 20, 2006 - october 26, 2006 announcements none this week.
...(what it is, how to use it) cross-post-and followup fx2 announcment to support-
firefox request for when the announcement about
firefox 2's release to be posted on the mozilla.dev.apps.
firefox newsgroup.
...
firefox killer features suggestion john describes his suggestions for "killer features" for
firefox.
...And 7 more matches
2006-10-27 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - october 20, 2006 - october 27, 2006 announcements none this week.
...(what it is, how to use it) cross-post-and followup fx2 announcment to support-
firefox request for when the announcement about
firefox 2's release to be posted on the mozilla.dev.apps.
firefox newsgroup.
...
firefox killer features suggestion john describes his suggestions for "killer features" for
firefox.
...And 7 more matches
Setting up your own test automation environment - Learn web development
you can find details of where to get them from on the selenium-webdriver page (see the table in the first section.) obviously, some of the browsers are os-specific, but we're going to stick with
firefox and chrome, as they are available across all the main oses.
... download the latest geckodriver (for
firefox) and chromedriver drivers.
... create a new file inside your project directory called google_test.js: give it the following contents, then save it: const webdriver = require('selenium-webdriver'), by = webdriver.by, until = webdriver.until; const driver = new webdriver.builder() .forbrowser('
firefox') .build(); driver.get('http://www.google.com'); driver.findelement(by.name('q')).sendkeys('webdriver'); driver.sleep(1000).then(function() { driver.findelement(by.name('q')).sendkeys(webdriver.key.tab); }); driver.findelement(by.name('btnk')).click(); driver.sleep(2000).then(function() { driver.gettitle().then(function(title) { if(title === 'webdriver - google search') { c...
...And 7 more matches
Android-specific test suites
there are several android-specific test suites that run on the
firefox for android codebase: android-test ensures that the code passes unit tests.
... all of these suites require a functioning build of
firefox for android — either a full build or an artifact build.
... running android-test to run android-test, first build
firefox for android with your changes; then run ./mach android test this will run the tests and report the results to stdout, as well as produce an html report.
...And 7 more matches
Bootstrapping a new locale
where active development of the upcoming release of
firefox occurs) and then begin the necessary work for translation.
... for instance, for
firefox 3.6, we use mozilla-1.9.2.
... for instance,
firefox 3.6 is released from the 1.9.2 branch.
...And 7 more matches
FIPS Mode - an explanation
(note: mozilla does not distribute a "fips mode"-ready nss with
firefox.) this page attempts to provide an informal explanation of what it is, who would use it, and why.
... if you're a us government worker, and you want to use a mozilla software product such as
firefox, or any product that uses nss, you will want to use it in a way that is fully conformant with all the relevant fips regulations.
... so, in order for mozilla
firefox and thunderbird to be usable by people who are subject to the fips regulations, mozilla's cryptographic software must be able to operate in a mode that is fully compliant with fips 140.
...And 7 more matches
Mozilla Projects
mozilla has a number of projects other than
firefox itself.
... many of these are components of
firefox or are tools used to create
firefox, but may be used by other projects as well.
... compare-locales compare-locales is a python script that helps localizers to check their work without running
firefox or another application.
...And 7 more matches
Using Objective-C from js-ctypes
speech synthesis example let's start with the following objective-c code, which invokes the speech synthesis api to say "hello,
firefox!".
... #import <appkit/appkit.h> int main(void) { nsspeechsynthesizer* synth = [[nsspeechsynthesizer alloc] initwithvoice: nil]; [synth startspeakingstring: @"hello,
firefox!"]; // wait until start speaking.
... nsstring* text = [nsstring initwithcstring: "hello,
firefox!" encoding: nsutf8stringencoding]; this will be converted into the following c code.
...And 7 more matches
NavigationPreloadManager - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnavigationpreloadmanager experimentalchrome full support 62edge full support 18
firefox no support nonotes no support ...
... webview android full support 62chrome android full support 62
firefox android no support nonotes no support nonotes notes implementation tracked in bug 1290958opera android full support 46safari ios ?
... samsung internet android full support 8.0disable experimentalchrome full support 62edge full support 18
firefox no support nonotes no support nonotes notes implementation tracked in bug 1290958ie ?
...And 7 more matches
PhotoCapabilities - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetphotocapabilities experimentalchrome full support 59edge full support ≤79
firefox ?
... webview android full support 59chrome android full support 59
firefox android ?
... samsung internet android full support 7.0filllightmode experimentalchrome full support 59edge full support ≤79
firefox ?
...And 7 more matches
PushRegistrationManager - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpushregistrationmanager experimentaldeprecatedchrome no support noedge no support no
firefox ?
... webview android no support nochrome android no support no
firefox android ?
... samsung internet android no support nogetregistration experimentaldeprecatedchrome no support noedge no support no
firefox ?
...And 7 more matches
WritableStream - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwritablestream experimentalchrome full support 59edge full support 16
firefox no support noie no support ...
... webview android full support 59chrome android full support 59
firefox android no support noopera android full support 44safari ios ?
... samsung internet android full support 7.0writablestream() constructor experimentalchrome full support 59edge full support 16
firefox no support noie no support noopera full support 47safari ?
...And 7 more matches
break-after - CSS: Cascading Style Sheets
support in multi-column layout desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsupported in multi-column layoutchrome full support 50edge full support 12
firefox no support noie full support ...
... 10opera full support 37 full support 37 no support 11.1 — 12.1safari no support nowebview android full support 50chrome android full support 50
firefox android no support noopera android full support 37 full support 37 no support 11.1 — 12.1safari ios no support nosamsung internet android full support ...
... 5.0alwayschrome no support noedge no support no
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no sup...
...And 7 more matches
break-before - CSS: Cascading Style Sheets
support in multi-column layout desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsupported in multi-column layoutchrome full support 50edge full support 12
firefox full support 65ie full support ...
... 10opera full support 37 full support 37 no support 11.1 — 12.1safari no support nowebview android full support 50chrome android full support 50
firefox android full support 65opera android full support 37 full support 37 no support 11.1 — 12.1safari ios no support nosamsung internet android full support ...
... 5.0always experimentalchrome no support noedge no support no
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android ...
...And 7 more matches
font-variant - CSS: Cascading Style Sheets
values> = [ lining-nums | oldstyle-nums ]<numeric-spacing-values> = [ proportional-nums | tabular-nums ]<numeric-fraction-values> = [ diagonal-fractions | stacked-fractions ]<east-asian-variant-values> = [ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]<east-asian-width-values> = [ full-width | proportional-width ] examples setting the small-caps font variant html <p class="normal">
firefox rocks!</p> <p class="small">
firefox rocks!</p> css p.normal { font-variant: normal; } p.small { font-variant: small-caps; } result specifications specification status comment css fonts module level 3the definition of 'font-variant' in that specification.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfont-variantchrome full support 1edge full support 12
firefox full support 1ie full support 4op...
...era full support 3.5safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 11safari ios full support 1samsung internet android full support 1.0css fonts module level 3 shorthandchrome full support 52edge full support 79
firefox full support ...
...And 7 more matches
position - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpositionchrome full support 1edge full support 12
firefox full support 1notes full support 1no...
...tes notes before
firefox 57, absolute positioning did not work correctly when applied to elements inside tables that have border-collapse applied to them (bug 1379306).notes before
firefox 30, absolute positioning of table rows and row groups was not supported (bug 63895).ie full support 4opera full support 4safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 4notes full support 4notes notes before
firefox 57, absolute positi...
...oning did not work correctly when applied to elements inside tables that have border-collapse applied to them (bug 1379306).notes before
firefox 30, absolute positioning of table rows and row groups was not supported (bug 63895).opera android full support 14safari ios full support 1samsung internet android full support 1.0absolutely-positioned flex childrenchrome full support 52edge full support 12
firefox full support 52ie full support 10opera full support ...
...And 7 more matches
Localizations and character encodings - Developer guides
to specify that a page is using, for example, the utf-8 character encoding (as per the recommendation), simply place the following line in the <head> block: <meta charset="utf-8"> details and browser internals when the encoding is declared by web content like the html specification requires,
firefox will use that encoding for turning the bytes into the internal representation.
...
firefox needs a fallback encoding that it uses for non-conforming legacy content that doesn't declare its encoding.
...in order to work with legacy content, some
firefox localizations need a non-windows-1252 fallback encoding.
...And 7 more matches
WebAssembly.Table - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jstablechrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
... full support 7.0nodejs full support 8.0.0table() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
...And 7 more matches
JavaScript Object Management - Archive of obsolete content
the first step to good javascript object management is having a namespace, or a javascript object that contains our code and data, that you know will not conflict with
firefox code or other extensions.
...for instance, you could replace a method in any object in the
firefox chrome, so that it behaves differently than how it normally does.
...
firefox has a minimum delay of 10-15ms (taken from this blog post), so it won't really run instantly.
...And 6 more matches
Local Storage - Archive of obsolete content
it is strongly recommended that you keep your local files inside the
firefox profile directory.
...a full list of these flags can be found in the
firefox source.
...this is the default behavior when
firefox is uninstalled: the profile information remains intact and it will be there waiting for you if
firefox is installed again.
...And 6 more matches
Extensions support in SeaMonkey 2 - Archive of obsolete content
differences as compared to other toolkit/-based applications you need to overlay/open different chrome urls as compared to
firefox.
... some urls are listed below: url in
firefox url in seamonkey overlays chrome://browser/content/browser.xul chrome://navigator/content/navigator.xul main browser window chrome://browser/content/pageinfo/pageinfo.xul chrome://navigator/content/pageinfo/pageinfo.xul page info window chrome://browser/content/preferences/permissions.xul chrome://communicator/content/permis...onsmanager.xul permissions manager dialog urls added in 2.1 url in
firefox url in seamonkey chrome://browser/content/bookmarks/bookmarkspanel.xul chrome://communicator/content/bookmarks/bm-panel.xul chrome://browser/content/places/places.xul chrome:...
...some important menu ids are listed below, menu ids are based on
firefox 3 source code: menu id in
firefox menu id in seamonkey 1.x and 2.0 seamonkey 2.1 overlays menu_filepopup menu_filepopup menu_filepopup file menu popup menu_editpopup menu_edit_popup menu_editpopup edit menu popup menu_viewpopup menu_view_popup menu_view_popup view menu popup - gopopup gopopup go menu popup placespop...
...And 6 more matches
Menu - Archive of obsolete content
because it is still under development, the api currently lives in the future and must be imported before it is used: jetpack.future.import("menu"); menus all menus in jetpack are jetpack.menu objects, including both built-in
firefox menus and menus that features create.
... menuitems menus in jetpack contain menuitem objects, including both built-in
firefox menus and menus that features create.
... due to a platform bug in
firefox, on os x only, for menus in the menu bar only, command functions defined on menuitems with submenus are not called when descendant menuitems are clicked.
...And 6 more matches
Elements - Archive of obsolete content
bindings this section is tested and adjusted for the current
firefox implementation.
...</html:b><children/></content> </binding> </bindings> you can view the result by opening helloworld.html in
firefox.
...
firefox 2) it is impossible to attach bindings to table sub-elements (rows, cells etc.) you can attach binding only to the table element itself.
...And 6 more matches
Extensions - Archive of obsolete content
adding a new menu the main menu bar in
firefox has the id 'main-menubar'.
...for a list of the ids of the menus for
firefox, see
firefox menus.
... in
firefox, the browser area that displays web pages has only one context menu.
...And 6 more matches
Custom toolbar button - Archive of obsolete content
this page tells you step-by-step how to make a custom toolbar button in
firefox, seamonkey 2.0, thunderbird or sunbird.
... supported applications you can use the steps on this page with any or all of these mozilla applications:
firefox 1.5 or a later version seamonkey 2.0 or a later version thunderbird 1.5 or a later version sunbird 0.3 or a later version pre-release versions of these (alphas, betas and release candidates) are also ok.
... open the file in
firefox (for example, by dragging it and dropping it in
firefox, or by choosing file – open file...
...And 6 more matches
XUL Structure - Archive of obsolete content
this chrome package registration is the way
firefox extensions are able to add features to the browser.
...
firefox and thunderbird, as well as number of other components are all written in xul and are all accessible via chrome urls.
... you can examine these packages by looking in the chrome directory where
firefox or another xul application is built.
...And 6 more matches
Using nsIXULAppInfo - Archive of obsolete content
note that while
firefox 1.5, thunderbird 1.5, and xulrunner 1.8-based applications support nsixulappinfo, older applications, such as
firefox and thunderbird 1.0, do not support it.
... const
firefox_id = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"; const thunderbird_id = "{3550f703-e582-4d05-9a08-453d09bdfdc6}"; const seamonkey_id = "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}"; var appinfo = components.classes["@mozilla.org/xre/app-info;1"] .getservice(components.interfaces.nsixulappinfo); if(appinfo.id ==
firefox_id) { // running under
firefox } else if(appinfo.id == thun...
...derbird_id) { // running under thunderbird } else if(appinfo.id == seamonkey_id) { // running under seamonkey } else { // another app } note: you could also use nsixulappinfo.name, which is a human-readable name for the application, such as "
firefox", "thunderbird" or "seamonkey", but who knows, maybe they'll rename it again!
...And 6 more matches
ECMAScript 2015 support in Mozilla - Archive of obsolete content
it defines the standard for the javascript implementation in spidermonkey, the engine used in
firefox and other mozilla applications.
... standard library additions to the array object array iteration with for...of (
firefox 13) array.from() (
firefox 32) array.of() (
firefox 25) array.prototype.fill() (
firefox 31) array.prototype.find(), array.prototype.findindex() (
firefox 25) array.prototype.entries(), array.prototype.keys() (
firefox 28), array.prototype.values() array.prototype.copywithin() (
firefox 32) get array[@@species] (
firefox 48) new map and set objects, and their weak counterparts map (firef...
...ox 13) map iteration with for...of (
firefox 17) map.prototype.foreach() (
firefox 25) map.prototype.entries() (
firefox 20) map.prototype.keys() (
firefox 20) map.prototype.values() constructor argument: new map(null) (
firefox 37) monkey-patched set() in constructor (
firefox 37) get map[@@species] (
firefox 41) set (
firefox 13) set iteration with for...of (
firefox 17) set.prototype.foreach() (
firefox 25) set.prototype.entries(), set.prototype.keys(), set.prototype.values() (
firefox 24) constructor argument: new set(null) (
firefox 37) monkey-patched add() in constructor (
firefox 37) get set[@@species] (
firefox 41) weakmap (
firefox 6) weakmap.clear() (
firefox 20) optional iterable argument in weakmap constructor (
firefox 36) ...
...And 6 more matches
New in JavaScript - Archive of obsolete content
this chapter contains information about javascript's version history and implementation status for mozilla/spidermonkey-based javascript applications, such as
firefox.
...
firefox 4 was the last version which referred to a javascript version (1.8.5).
... javascript 1.5 version shipped in netscape navigator 6.0 and
firefox 1.0.
...And 6 more matches
What are browser developer tools? - Learn web development
three ways: keyboard: ctrl + shift + i, except internet explorer and edge: f12 macos: ⌘ + ⌥ + i menu bar:
firefox: menu ➤ web developer ➤ toggle tools, or tools ➤ web developer ➤ toggle tools chrome: more tools ➤ developer tools safari: develop ➤ show web inspector.
... layout: in
firefox, this area includes two sections: box model: represents visually the current element's box model, so you can see at a glance what padding, border and margin is applied to it, and how big its content is.
... fonts: in
firefox, the fonts tab shows the fonts applied to the current element.
...And 6 more matches
Cross Process Object Wrappers
this document describes cross process object wrappers (cpows), which enable chrome code to synchronously access content in multiprocess
firefox.
... note that from
firefox 47 onwards, unsafe cpow usage is no longer permitted in browser code.
... in multiprocess
firefox, chrome code runs in a different process from web content.
...And 6 more matches
Power profiling overview
reducing) the power consumption caused by
firefox and
firefox os.
...each of these samples can trigger a wakeup, which consumes power and obscures
firefox's natural wakeup patterns.
...some can also be measured via instrumentation within
firefox itself.
...And 6 more matches
Places Developer Guide
this document is for extension and application developers who want to use the bookmarks and history apis in
firefox 3.
...overview places is the umbrella term for a set of apis for managing browsing history and uri metadata first introduced in
firefox 3.
...however,
firefox developers can take advantage of several helper apis that are browser-specific: fuel - a collection of wrapper apis for easing access to a number of
firefox utilities and services nsiplacestransactionsservice - a
firefox service for modifying bookmarks in a transactional manner, providing facilities for undo/redo places utilities for javascript - accessors and helper functions for
firefox ...
...And 6 more matches
nsIDownloadManager
this interface is deprecated as of
firefox 26.
... inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) implemented by: @mozilla.org/download-manager;1.
... endbatchupdate() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) indicate that a batch update is ending.
...And 6 more matches
nsIEditorIMESupport
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void begincomposition(in nstexteventreplyptr areply); native code only!
... methods native code only!begincomposition obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...void begincomposition( in nstexteventreplyptr areply ); parameters areply endcomposition() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) handles the end of inline input composition.
...And 6 more matches
nsIFaviconService
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) implemented by: @mozilla.org/browser/favicon-service;1.
... getfavicondata() obsolete since gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) note: this method was removed in gecko 22.0.
... getfavicondataasdataurl() obsolete since gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) note: this method was removed in gecko 22.0.
...And 6 more matches
nsINavBookmarkObserver
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 21.0 (
firefox 21.0 / thunderbird 21.0 / seamonkey 2.18) method overview void onbeforeitemremoved(in long long aitemid, in unsigned short aitemtype, in long long aparentid, in acstring aguid, in acstring aparentguid); obsolete since gecko 21.0 void onbeginupdatebatch(); void onendupdatebatch(); void onfolderadded(in print64 folder, in print64 parent, in print32 index); obsolete since gecko 1.9 void onfolderchanged(in print64 folder, in acstring property); obsolete since gecko 1.9 void onfoldermoved(in print64 folder...
...ime atime, in unsigned long atransitiontype, in nsiuri auri, in long long aparentid, in acstring aguid, in acstring aparentguid); void onseparatoradded(in print64 parent, in print32 index); obsolete since gecko 1.9 void onseparatorremoved(in print64 parent, in print32 index); obsolete since gecko 1.9 methods onbeforeitemremoved() obsolete since gecko 21.0 (
firefox 21.0 / thunderbird 21.0 / seamonkey 2.18) note: this method was removed in gecko 21.0 as part of bug 826409.
... onfolderadded() obsolete since gecko 1.9 (
firefox 3) notify this observer that a bookmark folder has been added.
...And 6 more matches
Working with windows in chrome code
with xpcnativewrappers turned on (which is the default in
firefox 1.5+), your extension can safely access the dom of the content document, but not the content javascript.
...for example: // alerts the title of the document displayed in the content-primary widget alert(content.document.title); for example, you can use content.document in a browser.xul overlay to access the web page in the selected tab in a
firefox window.
... accessing a document in the sidebar
firefox has a sidebar, which is implemented as a <browser> element with id="sidebar".
...And 6 more matches
FileReaderSync - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilereadersyncchrome full support yesedge full support 12
firefox full support 8ie full support ...
... yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yesreadasarraybufferchrome full support yesedge full support 12
firefox full support ...
... 8ie full support yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yesreadasbinarystringchrome full support yesedge full support ...
...And 6 more matches
Browser storage limits and eviction criteria - Web APIs
in
firefox, the following technologies make use of browser data storage to store data when required.
... we term them "quota clients" in this context: indexeddb asm.js caching cache api cookies note: in
firefox, web storage will soon start to use the same storage management tools too, as described in this document.
...this will only be evicted if the user chooses to (for example, in
firefox you can choose to delete all stored data or only stored data from selected origins by going to preferences and using the options under privacy & security > cookies & site data).
...And 6 more matches
NotificationEvent - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnotificationevent experimentalchrome full support 42edge full support ≤18
firefox full support 44notes full support ...
... 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie ?
... webview android no support nochrome android full support 42
firefox android full support 44opera android full support 37safari ios ?
...And 6 more matches
Slottable - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetslottable experimentalchrome full support 53edge full support 79
firefox full support 63 full support ...
...to change preferences in
firefox, visit about:config.
...to change preferences in
firefox, visit about:config.ie no support noopera full support 40safari full support 10.1webview android full support 53chrome android full support 53
firefox android full support 63 full support 63 ...
...And 6 more matches
Storage Access API - Web APIs
access requests are automatically denied if the browser detects that the user hasn’t interacted with the embedded content in a first-party context recently (in
firefox, "recently" is "within 30 days").
...prompting heuristics currently vary across the two implementers of the storage access api — safari shows prompts for all embedded tracking content that has not previously received storage access, while
firefox only prompts users after a tracking origin has requested storage access on more than a threshold number of sites.
... safari implementation differences although the api surface is the same, websites using the storage access api should expect differences in the level and extent of storage access they receive between
firefox and safari.
...And 6 more matches
Browser compatibility and Scroll Snap - CSS: Cascading Style Sheets
firefox initially implemented an early version of the scroll snap specification, called scroll snap points.
... in
firefox 68 the new version of the specification will be shipped and these old properties removed.
... what should i do if i used the old
firefox implementation?
...And 6 more matches
background-size - CSS: Cascading Style Sheets
note: the behavior of <gradient>s changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5).
...in
firefox 43, as opposed to chrome 52, an explicit background-size causes preserveaspectratio to be ignored.
...rendering of <gradient>s in such cases changed in
firefox 8, and at present is generally inconsistent across browsers, which do not all implement rendering in full accordance with the css3 background-size specification and with the css3 image values gradient specification.
...And 6 more matches
break-inside - CSS: Cascading Style Sheets
fusce iaculis urna id neque dapibus, eu lacinia lectus dictum.</p> <figure> <img src="https://udn.realityripple.com/samples/fe/4508d88f78.png"> <figcaption>the
firefox logo — fox wrapped around the world</figcaption> </figure> <p>praesent condimentum dui dui, sit amet rutrum diam tincidunt eu.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsupported in multi-column layoutchrome full support 50edge full support 12
firefox full support 65ie full support ...
... 10opera full support 37 full support 37 no support 11.1 — 12.1safari full support 10webview android full support 50chrome android full support 50
firefox android full support 65opera android full support 37 full support 37 no support 11.1 — 12.1safari ios full support 10samsung internet android full support ...
...And 6 more matches
Audio and Video Delivery - Developer guides
currently, to support all browsers we need to specify two formats, although with the adoption of mp3 and mp4 formats in
firefox and opera, this is changing fast.
...this makes up part of a wider technology known as webrtc (web real-time communications) and is compatible with the latest versions of chrome,
firefox and opera.
... note: the playback range portion of the media element uri specification was added to gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6).
...And 6 more matches
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
note: although not required by the specification,
firefox will by default persist the dynamic disabled state of an <input> across page loads.
...<datalist id="fruitsxx"> <option>cherry</option> <option>banana</option> <option>mango</option> <option>orange</option> <option>blueberry</option> </datalist> <datalist id="urlsxx"> <option>https://developer.mozilla.org</option> <option>https://caniuse.com/</option> <option>https://mozilla.com</option> <option>https://mdn.github.io</option> <option>https://www.youtube.com/user/
firefoxchannel</option> </datalist> <p><label for="textx">text</label> <input type="text" list="fruitsxx" id="textx"/></p> <p><label for="colorx">color</label> <input type="color" list="colorsxx" id="colorx"/></p> <p><label for="rangex">range</label> <input type="range" min="0" max="64" list="numbersxx" id="rangex"/></p> <p><label for="numberx">number</label> <input type="number" min="0" max="64" list="...
...
firefox for android only.
...And 6 more matches
Resource URLs - HTTP
resource urls, urls prefixed with the resource: scheme, are used by
firefox and
firefox browser extensions to load resources internally, but some of the information is available to sites the browser connects to as well.
... in this article, we focus on resource uris, which are used internally by
firefox to point to built-in resources.
... threats because some of the information shared by resource: urls is available to websites, a web page could run internal scripts and inspect internal resources of
firefox, including the default preferences, which could be a serious security and privacy issue.
...And 6 more matches
Performance fundamentals - Web Performance
platform performance optimizations this section provides a brief overview of how
firefox/gecko contributes to performance generally, below the level of all applications.
...many years of improvements targeting this content, like parallel html parsing, intelligent scheduling of reflows and image decoding, clever layout algorithms, etc., translate just as well to improving web applications on
firefox.
...
firefox is highly optimized to scroll arbitrary content; this is usually not a concern.
...And 6 more matches
SDK and XUL Comparison - Archive of obsolete content
compatibility although we can't promise we'll never break a high-level api, maintaining compatibility across
firefox versions is a top priority for us.
... we've designed the apis to be forward-compatible with the new multiple process architecture (codenamed electrolysis) planned for
firefox.
... we also expect to support both desktop and mobile
firefox using a single edition of the sdk: so you'll be able to write one extension and have it work on both products.
...And 5 more matches
XUL Migration Guide - Archive of obsolete content
because we expect to keep these apis compatible as new versions of
firefox are released, we call them the "supported" apis.
...if the supported apis do what you need, they're the best option: you get the benefits of compatibility across
firefox releases and of the sdk's security model.
...for example, action buttons appear by default in the main
firefox toolbar (although users may relocate them by toolbar customization) because it makes for a better user experience for add-ons to expose their interfaces in a consistent way.
...And 5 more matches
places/bookmarks - Archive of obsolete content
usage this module exports: three constructors: bookmark, group, and separator, corresponding to the types of objects, referred to as bookmark items, in the bookmarks database in
firefox two additional functions, save() to create, update, and remove bookmark items, and search() to retrieve the bookmark items that match a particular set of criteria.
... let { search, unsorted } = require("sdk/places/bookmarks"); // simple query with one object search( { query: "
firefox" }, { sort: "title" } ).on("end", function (results) { // results matching any bookmark that has "
firefox" // in its url, title or tag, sorted by title }); // multiple queries are or'd together search( [{ query: "
firefox" }, { group: unsorted, tags: ["mozilla"] }], { sort: "title" } ).on("end", function (results) { // our first query is the same as the simple query above; // all of...
... // `inputitems` matches the initial input as an array, // so `inputitems[0] === mybookmark` }); // saving multiple bookmarks, as duck-types in this case let bookmarks = [ { title: "mozilla", url: "http://mozilla.org", type: "bookmark" }, { title: "
firefox", url: "http://
firefox.com", type: "bookmark" }, { title: "twitter", url: "http://twitter.com", type: "bookmark" } ]; save(bookmarks).on("data", function (item, inputitem) { // each item in `bookmarks` has its own `data` event }).on("end", function (results, inputresults) { // `results` is an array of items saved in the same order // as they were passed in.
...And 5 more matches
jpm-mobile - Archive of obsolete content
you can use jpm and jpm-mobile for
firefox 38 and onwards.
...enables you to run and test add-ons for
firefox mobile (aka fennec).
... command reference there are currently two jpm commands: jpm-mobile run launch an instance of
firefox with your add-on installed.
...And 5 more matches
Preferences - Archive of obsolete content
information here applies to the mozilla suite,
firefox, thunderbird, and possibly other mozilla-based applications.
... (this is not exactly how it's coded in libpref, but it's equivalent) where the default values are read from all mozilla-based applications read (application directory)/defaults/preferences/*.js in addition to that, recent versions of toolkit applications (
firefox 1.0, thunderbird 1.0, and the like but not the mozilla suite) read extension defaults -- usually located in (profile folder)/extensions/(id)/defaults/preferences/ these files use simple javascript-like syntax.
... to add a default value for a preference, you should add a line like this to your default preferences file: pref("extensions.extensionname.preferencename", false); how to install an extension's defaults files for mozilla suite (not
firefox and thunderbird), copy them to (appdir)/defaults/pref in your install script.
...And 5 more matches
Session store API - Archive of obsolete content
session store makes it possible for extensions to easily save and restore data across
firefox sessions.
... one key scenario in which supporting this feature can be crucial for an extension:
firefox 2 lets users undo the closing of tabs.
... knowing when to restore each time
firefox is about to restore a tab, an event of type sstabrestoring is sent.
...And 5 more matches
Signing an extension - Archive of obsolete content
for an extension to work in
firefox it must be signed by mozilla, not by yourself.
... this article describes how to digitally sign your extension for
firefox and thunderbird, with a code signing certificate for object signing.
... sudo port install nss export your certificate if you have your certificate in
firefox, export it by following the steps below.
...And 5 more matches
Supporting search suggestions in search plugins - Archive of obsolete content
firefox supports search suggestions in opensearch plugins; as the user types in the search bar,
firefox queries the url specified by the search plugin to fetch live search suggestions.
...(this means that a suggestion-supporting engine plugin will have two <url> elements, the other one being the main text/html search url.) for example, the yahoo search plugin has this <url> entry: <url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchterms}"/> if the user types "fir" into the search bar, then pauses,
firefox inserts "fir" in place of {searchterms} and queries that url: <url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command=fir"/> the results are used to construct the suggestion list box.
... see creating opensearch plugins for
firefox to learn more about how to implement a search plugin.
...And 5 more matches
Creating a Help Content Pack - Archive of obsolete content
however, while it may seem like this is a disadvantage, it's actually an advantage - if you make an error you'll know immediately, and you should be able to easily figure out what the problem is by directly loading the file in
firefox.
... nc:title is where you specify the title (e.g., "mozilla
firefox help") for the help window.
...in
firefox 1.0 each data source had a panel.
...And 5 more matches
Supporting private browsing mode - Archive of obsolete content
this interface is deprecated since
firefox 20, and will probably be completely removed in
firefox 21.see supporting per-window private browsing for details.
...
firefox 3.5 introduced private browsing mode, in which potentially private information is not recorded.
... detecting whether private browsing mode is permanent requires gecko 2.0(
firefox 4 / thunderbird 3.3 / seamonkey 2.1)
firefox 4 added support for having private browsing mode permanently enabled.
...And 5 more matches
Modifying the Default Skin - Archive of obsolete content
« previousnext » as of
firefox 69, you must set the toolkit.legacyuserprofilecustomizations.stylesheets preference to true in about:config in order to load userchrome.css or usercontent.css files.
... this documentation has not been fully updated for
firefox quantum.
... support for the userchrome.css file and any of its elements described below are not guaranteed in future versions of
firefox.
...And 5 more matches
textbox - Archive of obsolete content
prior to gecko 1.9 (
firefox 3), the script code would execute in the context of the anonymous html <input> element inside the textbox binding.
... from gecko 1.9 to gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9), the script code would actually execute twice, once in the context of the anonymous html <input> element and once in the context of the <textbox> element itself.
... as of gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10), the script code only runs in the context of the <textbox> element, matching the behavior of all other event handlers.
...And 5 more matches
XULRunner Hall of Fame - Archive of obsolete content
slimerjs slimerjs is a xulrunner application that can be launched with
firefox, allowing to execute an external javascript script which can manipulate web content.
... sqlite manager manage all your sqlite databases using this lightweight extension for
firefox, thunderbird, seamonkey, songbird, komodo etc.
... zotero reference manager with
firefox, chrome, and safari integration.
...And 5 more matches
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - october 13, 2006 - october 20, 2006 announcements content filtering, manipulation, and control in
firefox 3 an open invitation from myk melez to contribute to the brainstorming of new features for
firefox 3 and future
firefox releases.
...to contribute visit the wiki discussions i wanna make an addon for
firefox a commonly asked question in many newsgroups.
... jesper kristensen pointed the requester here change download action for .rdp files on windows and os x a question regarding enabling
firefox to associate .rdp files with microsoft remote desktop client so that the correct application opens the files automatically.
...And 5 more matches
Debugging on Windows
this document explains how to debug mozilla-derived applications such as
firefox, thunderbird, and seamonkey on windows using the visual c++ ide.
...
firefox, in general, and even in non-e10s mode, does not start the main process directly, it starts it via a launcher process.
... if you have followed the steps in building
firefox for windows and have a local debug build, you can execute ./mach run --debug from the same command line.
...And 5 more matches
Tracking Protection
firefox desktop and
firefox for android include built-in tracking protection.
... in private browsing windows (tabs, in
firefox for android),
firefox will block content loaded from domains that track users across sites.
... if blocked content is part of the page layout, users may notice layout issues where
firefox blocked these loads.
...And 5 more matches
CustomizableUI.jsm
this module is only available from
firefox 29 onwards.
... the customizableui.jsm javascript code module allows you to interact with customizable buttons and items in
firefox's main window ui.
... it is available in the
firefox window as the customizableui property on the window.
...And 5 more matches
Following the Android Toasts Tutorial from a JNI Perspective
it will use the jni.jsm module that is available in
firefox for android since version 17.
... toasts do not have to be created with jni; they are exposed by the nativewindow feature on
firefox for android, see toast documentation.
... java code let's start with the following java code, which invokes a toast and says "hello,
firefox!".
...And 5 more matches
Index
2 application translation with mercurial android, draft, editing,
firefox, lightning, localization, mercurial, seamonkey, translate, patch, thunderbird first, get the required programs to compile mozilla applications like
firefox and thunderbird from build instructions.
... 7 l10n testing with xcode
firefox for ios, localization once you have your l10n testing environment set up in xcode, testing your
firefox on ios localization is a breeze.
... 20 localizing xliff files for ios oasis, translate, xliff, xml, ios
firefox for ios uses the xliff xml-based file format to hold and transfer localization data.
...And 5 more matches
Localizing with Koala
introduction this tutorial will guide you through making a couple of changes to
firefox's user interface using koala, an add-on for komodo edit created to help localizing mozilla.
... configure the application choose "
firefox" as the application.
... note that you don't have to edit the location field, it automatically fills in when you check the "mercurial" checkbox: "c:\mozilla\l10n\application\
firefox\3.6".
...And 5 more matches
Localizing with Mercurial
localizing current versions of
firefox, thunderbird and seamonkey includes working with mercurial.
... mozilla-central contains the files for
firefox nightly.
... comm-central contains the files for seamonkey and thunderbird which are not already part of
firefox.
...And 5 more matches
XPCOM
this can create a difficult situation for extension developers trying to support multiple gecko versions (
firefox 2 and 3, for example).creating a python xpcom componentcreating applications with mozilla already provides a tutorial for making a simple javascript or c++ component (implementing the nsisimple interface).
... here is how to make the same component in python using pyxpcom.fun with xbl and xpconnectgenerating guidsguids are used in mozilla programming for identifying several types of entities, including xpcom interfaces (this type of guids is callled iid), components (cid), and legacy add-ons—like extensions and themes—that were created prior to
firefox 1.5.
... add-ons can (and should) be identified with ids of the form extensionname@organization.tld since
firefox 1.5.generic factorymost xpcom factories can be very simple.
...And 5 more matches
Using COM from js-ctypes
speech synthesis example let's start with following c++ code, which invokes microsoft speech api and says "hello,
firefox!" with system default voice, then wait until the speaking done.
... #include <sapi.h> int main(void) { if (succeeded(coinitialize(null))) { ispvoice* pvoice = null; hresult hr = cocreateinstance(clsid_spvoice, null, clsctx_all, iid_ispvoice, (void**)&pvoice); if (succeeded(hr)) { pvoice->speak(l"hello,
firefox!", spf_default, null); pvoice->release(); } } // msdn documentation says that even if coinitalize fails, counitialize // must be called couninitialize(); return 0; } to run the code, save it as test.cpp, and run following command in the directory (needs visual studio).
... #include <sapi.h> int main(void) { if (succeeded(coinitialize(null))) { struct ispvoice* pvoice = null; hresult hr = cocreateinstance(&clsid_spvoice, null, clsctx_all, &iid_ispvoice, (void**)&pvoice); if (succeeded(hr)) { pvoice->lpvtbl->speak(pvoice, l"hello,
firefox!", 0, null); pvoice->lpvtbl->release(pvoice); } } // msdn documentation says that even if coinitalize fails, counitialize // must be called couninitialize(); return 0; } to run the code, save it as test.c, and run following command in the directory.
...And 5 more matches
Plugins
important: plugins are a legacy technology that are a security and performance problem for
firefox (and other browser) users.
... roadmap plugin roadmap information about the roadmap for adobe flash and other plugin support in
firefox.
... roadmap highlights since
firefox 52, plugins other than flash are not loaded by
firefox.
...And 5 more matches
BudgetService - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbudgetservice experimentaldeprecatednon-standardchrome full support 55edge full support ≤79
firefox ?
... webview android full support 55chrome android full support 55
firefox android ?
... samsung internet android full support 6.0getbudget experimentaldeprecatednon-standardchrome full support 55edge full support ≤79
firefox ?
...And 5 more matches
FederatedCredential - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfederatedcredential experimentalchrome full support 51edge full support ≤79
firefox ?
... webview android full support 51chrome android full support 51
firefox android ?
... samsung internet android full support 5.0federatedcredential() constructor non-standardchrome full support 51edge full support ≤79
firefox ?
...And 5 more matches
FileSystemDirectoryEntry - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystemdirectoryentry experimentalchrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: directoryentryedge ful...
...l support 79prefixed full support 79prefixed prefixed implemented with the vendor prefix: webkit
firefox full support 50ie no support noopera full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitsafari full support 11.1webview android full support ≤37alternate name full support ≤37alternate name alternate name uses the non-standard name: directoryentrychrome and...
...roid full support 18alternate name full support 18alternate name alternate name uses the non-standard name: directoryentry
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcreatereader experimentalchrome full support 13edge full support 7...
...And 5 more matches
Online and offline events - Web APIs
this property is updated whenever the user switches into "offline mode" by selecting the corresponding menu item (file -> work offline in
firefox).
...
firefox 2 updates this property when switching to/from the browser's offline mode.
...
firefox 41 updates this property when the os reports a change in network connectivity on windows, linux, and os x.
...And 5 more matches
animation-direction - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetanimation-directionchrome full support 43 full support 43 full support 3prefixed prefixed implemented with the vendor prefix: -webkit-edge ...
... full support 12 full support 12 full support 12prefixed prefixed implemented with the vendor prefix: -webkit-
firefox full support 16 full support 16 full support 49prefixed prefixed implemented with the vendor prefix: -webkit- full support 44prefixed disabled prefixed implemented with the vendor prefix: -webkit-disabled from version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.
...And 5 more matches
Adapting to the new two-value syntax of display - CSS: Cascading Style Sheets
firefox 70 implemented the two-value syntax for the display property, which is part of the css display module level 3.
...the example below, which will work in
firefox 70 and upwards, demonstrates these values.
...if you are using
firefox you can replace it with the newer display: block flow-root, which will achieve the same as the single flow-root value.
...And 5 more matches
WebAssembly.Module - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsmodulechrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
... full support 7.0nodejs full support 8.0.0module() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
...And 5 more matches
Communicating With Other Scripts - Archive of obsolete content
page scripts if a page includes its own scripts using <script> tags, either embedded in the page or linked to it using the src attribute, there are a couple of ways a content script can communicate with it: using the dom postmessage() api using custom dom events using the dom postmessage api note that before
firefox 31 code in content scripts can't use window to access postmessage() and addeventlistener() and instead must use document.defaultview.
... see the section below on using postmessage() before
firefox 31.
... </script> <button onclick="sendmessage()">send message</button> </body> </html> finally, the content script "listen.js" uses window.addeventlistener() to listen for messages from the page script: // listen.js window.addeventlistener('message', function(event) { console.log(event.data); // message from page script console.log(event.origin); }, false); using postmessage() before
firefox 31 if your add-on is running in a version of
firefox before
firefox 31, then your content script can't access the postmessage() or addeventlistener() apis using window, but must access them using document.defaultview instead.
...And 4 more matches
widget - Archive of obsolete content
deprecated in
firefox 29 and removed in
firefox 38.
... the widget api is deprecated from
firefox 29 onwards.
... create a simple user interface for an add-on in
firefox's add-on bar.
...And 4 more matches
Storing annotations - Archive of obsolete content
deprecated in
firefox 29 and removed in
firefox 38.
... warning: this tutorial relies on the since-removed widget api and no longer works with
firefox.
... the widget api is deprecated from
firefox 29 onwards.
...And 4 more matches
JavaScript Client API - Archive of obsolete content
this api is available in mozilla-based products that use sync, such as
firefox desktop.
... please note that usage of the sync apis is governed by a terms of service: by accessing or using the
firefox sync apis in connection with the development of your own client software to access the
firefox sync services (a “third party client”), you acknowledge that you will need to install and use a local version of the
firefox sync server for multiple account testing and that any use of mozilla’s hosted
firefox sync services is subject to mozilla’s
firefox sync terms of service at https://services.mozilla.com/tos/.
... further, you agree (a) to maintain and link to (including on websites from which your third party client may be downloaded) a separate, conspicuous, and reasonably detailed privacy policy detailing how data collected or transmitted by your third party client is managed and protected; (b) that your third party client will only store data in encrypted form on the
firefox sync servers operated by mozilla; (c) that you and your third party client will use the
firefox sync apis solely for their intended purpose; (d) that your third party client will not hide or mask its identity as it uses the services and/or
firefox sync apis, including by failing to follow required identification conventions; and (e) that you and your third party client will not use the
firefox sync apis for any application or se...
...And 4 more matches
Creating toolbar buttons (Customize Toolbar Window) - Archive of obsolete content
this article explains how to add a toolbar button to a toolkit application (such as
firefox, thunderbird, or kompozer) using overlays.
... we assume that you're also familiar with the basics of creating
firefox extensions and have the hello world extension working.
...the dimensions of the icons in various applications for both modes are summarized in the following table (feel free to add information about other applications): application (theme name) big icon size small icon size
firefox 1.0 (winstripe) 24x24 16x16 thunderbird 1.0 (qute) 24x24 16x16 the stylesheet to set the image for your toolbar button, use the following css rules: /* skin/toolbar-button.css */ #myextension-button { list-style-image: url("chrome://myextension/skin/btn_large.png"); } toolbar[iconsize="small"] #myextension-button { list-style-image: url("chrome://myextension...
...And 4 more matches
toolbox - Archive of obsolete content
the
firefox browser does not have grippies so toolbars cannot be collapsed and expanded.
... customtoolbarcount
firefox only type: integer the number of custom toolbars currently within the toolbox.
... palette
firefox only type: element the toolbarpalette within the toolbox.
...And 4 more matches
Getting started with XULRunner - Archive of obsolete content
given that
firefox, thunderbird, and multiple other applications are written using the platform, it's a safe bet that it can be used to build a basic application.
...one way to achieve this is to run the following script everytime you want to install a new version:
firefox_version=`grep -po "\d{2}\.\d+" /usr/lib/
firefox/platform.ini` arch=`uname -p` xurl=https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$
firefox_version/runtimes/xulrunner-$
firefox_version.en-us.linux-$arch.tar.bz2 cd /opt sudo sh -c "wget -o- $xurl | tar -xj" sudo ln -s /opt/xulrunner/xulrunner /usr/bin/xulrunner sudo ln -s /opt/xulrunner/xpcshell /usr/bin/xpcshell you could also save t...
... note: if you are using
firefox build from ubuntuzilla repository, replace /usr/lib/
firefox/platform.ini with /opt/
firefox/platform.ini.
...And 4 more matches
2006-10-13 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - october 6, 2006 - october 13, 2006 announcements
firefox vista compatible and versioning heads up robert strong describes the compatibility between windows vista and
firefox, also about the versioning change.
... annoying
firefox 2 save dialog instead of open/save ones.
...it's suggested that its a os problem in the desktop theme, as opposed to problem with
firefox.
...And 4 more matches
Scratchpad - Archive of obsolete content
scratchpad is deprecated as of
firefox 70 (bug 1565380), and will be removed as of
firefox 72 (bug 1519103).
... as an alternative, starting in
firefox 71, you can use the multi-line mode of the javascript console input.
... opening scratchpad in the toolbox new in
firefox 47.
...And 4 more matches
Browser Feature Detection - Archive of obsolete content
this article has generally never been more than a way to show off
firefox web compatibility, rather than something truly informative in a broader sense.
... it is clear from these test results that netscape 7.0x and mozilla
firefox have the greatest dom support although internet explorer, safari, and opera have sufficient dom css 1 and dom level 1 & 2 document property and method support to enable cross browser web development.
... test summary standard netscape 7.0x
firefox 1.5 safari 2 opera 7 / 8.5-9.0 internet explorer 6 / 7 dom core 1 100% 100% 100% 75% / 91% 75% / 75% dom core 2 100% 100% 100% 70% / 94% 58% / 58% dom 1 html 100% 100% 100% 100% / 100% 100% / 100% dom css 1 100% 100% 100% 100% / 100% 96% / 96% dom css 2 100% 98% 67% 71% / 83% 38% / 42% test results cross reference dom core level 1 support for properties/methods in document name
firefox 1.5 ie 6 & 7 opera 8.54 - 9.01 document.doctype true true true document.implementation true true true document.documentelement true true true...
...And 4 more matches
The HTML5 input types - Learn web development
see the
firefox for android keyboard screenshot below for an example: note: you can find examples of the basic text input types at basic input examples (see the source code also).
... the below screenshots show a non-empty search field in
firefox 71, safari 13, and chrome 79 on macos, and edge 18 and chrome 79 on windows 10.
... the following
firefox for android keyboard screenshot provides an example: due to the wide variety of phone number formats around the world, this type of field does not enforce any constraints on the value entered by a user (this means it may include letters, etc.).
...And 4 more matches
Introduction to cross browser testing - Learn web development
the site should work entirely in the last few versions of the most popular desktop and mobile (ios, android, windows phone) browsers — this should include chrome (and opera as it is based on the same rendering engine as chrome),
firefox, ie/edge, and safari.
...to start with, you should make sure there are no general issues with your code that are stopping your feature from working: test it in a couple of stable browsers on your system, like
firefox, safari, chrome, or ie/edge.
...for example: try to test the latest change on all the modern desktop browsers you can — including
firefox, chrome, opera, ie, edge, and safari on desktop (mac, windows, and linux, ideally).
...And 4 more matches
Index
found 689 pages: # page tags and summary 1 add-ons add-ons, extension, extensions, landing, mozilla add-ons allow developers to extend and modify the functionality of
firefox.
... 675 creating an appealing add-on listing add-ons, beginner, guide, webextension, publishing there are two essential steps to getting people to use your add-on: they need to discover your add-on and open the listing page, then the listing page needs to encourage them to click the add to
firefox button.
... 676 index add-ons, glossary, guide, index found 689 pages: 677 signing and distributing your add-on add-ons, extensions, webextensions, distribution, publication, reviews, signing add-ons need to be signed before they can be installed into release and beta versions of
firefox.
...And 4 more matches
mach
mach (german for to make) is a program via the "command-line interface" to help developers perform installation tasks such as installing
firefox from its c++ source code.
...$ cd objdir-
firefox $ mach build adding mach to your shell's search path if you add mach to your path (by modifying the path environment variable to include your source directory, or by copying mach to a directory in the default path like /usr/local/bin) then you can type mach anywhere in your source directory or your objdir.
... note: mach tab completion will not work when running mach in a source directory older than
firefox 24.
...And 4 more matches
Developer guide
build instructions how to build
firefox, thunderbird, seamonkey, or other mozilla applications.
... managing multiple profiles when working with prerelease versions of
firefox, it's often helpful to have multiple
firefox profiles, such as one for each channel, or for different kinds of testing.
... customizing
firefox information about creating customized versions of
firefox.
...And 4 more matches
How to get a process dump with Windows Task Manager
(to get a process dump for thunderbird or some other product, substitute the product name where ever you see
firefox in these instructions.) caution the memory dump that will be created through this process is a complete snapshot of the state of
firefox when you create the file, so it contains urls of active tabs, history information, and possibly even passwords depending on what you are doing when the snapshot is taken.
... a
firefox nightly or release you need a
firefox version for which symbols are available from the mozilla symbol server.
... you can use any official nightly build or released version of
firefox from mozilla.
...And 4 more matches
FxAccountsOAuthClient.jsm
the fxaccountsoauthclient.jsm javascript module provides a way for browser services to authenticate with the
firefox accounts oauth server.
... components.utils.import("resource://gre/modules/fxaccountsoauthclient.jsm"); creating a new fxaccountsoauthclient new fxaccountsoauthclient(object options); method overview launchwebflow(); teardown(); attributes parameters object returns the set of parameters that initialized the
firefox accounts oauth flow.
... oncomplete function gets called when the
firefox accounts oauth flow successfully completes.
...And 4 more matches
Creating localizable web applications
bad: <?= _("<a href=\"https://addons.mozilla.org/
firefox/downloads/latest/10900\" class=\"get-personas\" id=\"download\"><span>get personas for
firefox - free</span>");?><span class="arrow"></span></a> snippet 2.
... good: <a href="https://addons.mozilla.org/
firefox/downloads/latest/10900" class="get-personas" id="download"> <span><?= _("get personas for
firefox - free");?></span><span class="arrow"></span> </a> snippet 3.
... <?php if($showwearthis) { ?> $(".try-button").personasbutton({ 'haspersonas':'<span><?= _("wear this");?></span><span> </span>', 'has
firefox':'<span><?= _("get personas now!");?></span><span> </span>', 'no
firefox':'<span><?= _("get personas with
firefox");?></span><span> </span>' }); <?php } ?> images don't put text or numbers in the images just don't do that.
...And 4 more matches
Fonts for Mozilla 2.0's MathML engine
note: these instructions are for gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) until gecko 30.0 (
firefox 30.0 / thunderbird 30.0 / seamonkey 2.27).
... on android,
firefox os and other platforms where the instructions above do not work: install the mathml-fonts add-on.
... this requires gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) or higher.
...And 4 more matches
GC and CC logs
generating logs from within
firefox to manually generate gc and cc logs, navigate to about:memory and use the buttons under "save gc & cc logs." "save concise" will generate a smaller cc log, "save verbose" will provide a more detailed cc log.
... (the gc log will be the same size in either case.) with multiprocess
firefox, you can't record logs from the content process, due to sandboxing.
... you'll need to disable sandboxing by setting moz_disable_content_sandbox=t when you run
firefox.
...And 4 more matches
about:memory
about:memory is a special page within
firefox that lets you view, save, load, and diff detailed measurements of
firefox's memory usage.
... how to generate memory reports let's assume that you want to measure
firefox's memory usage.
...once
firefox's memory usage has gotten high) open a new tab and type "about:memory" into the address bar and hit "enter".
...And 4 more matches
Localization Use Cases
this article documents a few opportunities to improve the localization of gaia (the ui layer of
firefox os) by using l20n.
... in slovenian, the ideal string would inflect the noun, like so: o
firefoxu however, since we want the name of the browser to be stored in the browserbrandshortname entity, we can't modify it.
...browser, to give about the
firefox browser.
...And 4 more matches
PKCS11 module installation
pkcs #11 modules are external modules which add to
firefox support for smartcard readers, biometric security devices, and external certificate stores.
... this article covers the two methods for installing pkcs #11 modules into
firefox.
... note: the information in this article is specific to
firefox 3.5 and newer.
...And 4 more matches
AT APIs Support
accessible gecko gecko is a rendering engine that
firefox, seamonkey, netscape and yelp use.
... examples of xul applications:
firefox - web-browser thunderbird - email client seamonkey - web-browser, advanced e-mail and newsgroup client, irc chat client, and html editing made simple sunbird - cross-platform calendar application kompozer - a complete web authoring system for linux desktop, microsoft windows and macintosh users to rival programs like frontpage and dreamweaver.
...
firefox extensions) gecko version for
firefox and all other gecko-based products: this documentation applies to up-to-date product builds based on gecko 1.9.2 -- currently not available on official releases.
...And 4 more matches
XForms Accessibility
assistive technologies api for xforms is supported starting from
firefox 3 (gecko 1.9).
...these are either downloading latest build of
firefox or building it yourself.
... downloading builds notion: xforms is no longer distributed with
firefox build.
...And 4 more matches
Components.utils.exportFunction
allowcallbacks: deprecated/redundant from
firefox 34.
...this option is new in
firefox 33.
... from
firefox 34 onwards this option has no effect: the exported function is always able to accept callbacks as arguments.
...And 4 more matches
nsIAppShell
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void create(inout int argc, inout string argv); obsolete since gecko 1.9 void dispatchnativeevent(in prbool arealevent, in voidptr aevent); obsolete since gecko 1.9 void exit(); void favorperformancehint(in boolean favorperfoverstarvation, in unsigned long starvationdelay); void getnativeevent(in prboolref arealevent, in voidptrref aevent); obsolete since gecko 1.9 void listentoeventqueue(in nsieventqueue aqueue, in prbool alisten); obsolete since gecko 1.9 void resumenative(); void run();...
... methods create() obsolete since gecko 1.9 (
firefox 3) creates an application shell.
... dispatchnativeevent() obsolete since gecko 1.9 (
firefox 3) after event dispatch execute app specific code.
...And 4 more matches
nsIBrowserHistory
inherits from: nsiglobalhistory2 last changed in gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) implemented by: @mozilla.org/browser/nav-history-service;1.
... methods addpagewithdetails() obsolete since gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) note: this method was removed in gecko 15.0.
... markpageasfollowedlink() obsolete since gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) note: this method was moved to another interface in gecko 22.0.
...And 4 more matches
nsIDBFolderInfo
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by: ?????????????????????????????????????.
...ptions thrown missing exception missing description getcharacterset() void getcharacterset( out acstring charset, out boolean overriden ); parameters charset missing description overriden missing description exceptions thrown missing exception missing description getcharactersetoverride() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void getcharactersetoverride( out boolean charactersetoverride ); parameters charactersetoverride missing description exceptions thrown missing exception missing description getcharptrcharacterset() string getcharptrcharacterset(); parameters none.
...turn value missing description exceptions thrown missing exception missing description getcharptrproperty() string getcharptrproperty( in string propertyname ); parameters propertyname missing description return value missing description exceptions thrown missing exception missing description native code only!getlocale obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0)this feature is obsolete.
...And 4 more matches
nsIScrollable
inherits from: nsiscrollable last changed in gecko 29.0 (
firefox 29.0 / thunderbird 29.0 / seamonkey 2.26) method overview long getcurscrollpos(in long scrollorientation); obsolete since gecko 29.0 long getdefaultscrollbarpreferences(in long scrollorientation); void getscrollbarvisibility(out boolean verticalvisible, out boolean horizontalvisible); void getscrollrange(in long scrollorientation, out long minpos, out long maxpos); obsolete since gecko 29.0 void setcurscrollpos(in long scrollorientation, in long curpos); obsolete since gecko...
... methods getcurscrollpos() obsolete since gecko 29.0 (
firefox 29.0 / thunderbird 29.0 / seamonkey 2.26) long getcurscrollpos( in long scrollorientation ); parameters scrollorientation an integer representing the orientation of the scrollbar.
... getscrollrange() obsolete since gecko 29.0 (
firefox 29.0 / thunderbird 29.0 / seamonkey 2.26) void getscrollrange( in long scrollorientation, out long minpos, out long maxpos ); parameters scrollorientation an integer representing the orientation of the scrollbar.
...And 4 more matches
Working with Multiple Versions of Interfaces
the problem in this short note we illustrate how one can update an xpcom module in order for it to work in both
firefox 2 and
firefox 3, even if the interfaces have changed in the interim.
...accessiblefor(node, getter_addrefs(accnode)); if(ns_failed(rv)){ return self; } void *wh = null; nscomptr<nsiaccessibledocument> accdocnode; accdocnode = do_queryinterface(accnode, &rv); if(ns_failed(rv)){ return self; } rv = accdocnode->getwindowhandle(&wh); if(ns_succeeded(rv)){ self = static_cast<hwnd>(wh); } return self; } this approach worked, as is, for versions as early as
firefox 1.5.
... the problem arises when one tries to run an extension built with the latest sdk in an older version of
firefox, say
firefox 2.
...And 4 more matches
Zombie compartments
they can be caused by bugs in
firefox itself, or by bugs in
firefox add-ons.
... compartments
firefox’s javascript memory is segregated into zones and compartments.
...
firefox’s own javascript code also gets one or more compartments and so do add-on scripts.
...And 4 more matches
Standard OS Libraries
wms on ubuntu work a little differently but we'll revisit this topic later in this article (did you know they have a *special*
firefox build for ubuntu?).
... gtk+ is the framework used under
firefox (and other mozilla applications like thunderbird).
...
firefox is officially supported only for gtk+ at the moment, therefore gtk+ is required for
firefox to run.
...And 4 more matches
FileSystemFlags - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystemflags experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox full support 50ie no support noopera no support nosafari no support nowebview android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitchrome android full support yesprefixed full support yesprefixed prefixed implemented with the ven...
...dor prefix: webkit
firefox android full support 50opera android no support nosafari ios no support nosamsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcreate experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤...
...And 4 more matches
GamepadEvent - Web APIs
working draft initial definition browser compatibility desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgamepadeventchrome full support 35 full support 35 no support 21 — 34prefixed prefixed implemented with the vendor prefix: webkitedge full s...
...upport ≤18
firefox full support 29 full support 29 no support 24 — 28disabled disabled from version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.ie no support noopera full support 22 full support 22 no support 15 — 21prefixed prefixed implemented with the vendor prefix: webkitsafari full support 10.1webview android no support nochrome android full support yes
firefox android full support 32opera android full support 22 full support 22 no support ...
...And 4 more matches
Using IndexedDB - Web APIs
also, indexeddb storage in browsers' privacy modes only lasts in-memory until the incognito session is closed (private browsing mode for
firefox and incognito mode for chrome, but in
firefox this is not implemented yet as of april 2020 so you can't use indexeddb in
firefox private browsing at all).
... note: as of
firefox 40, indexeddb transactions have relaxed durability guarantees to increase performance (see bug 1112702.) previously in a readwrite transaction idbtransaction.oncomplete was fired only when all data was guaranteed to have been flushed to disk.
... in
firefox 40+ the complete event is fired after the os has been told to write the data but potentially before that data has actually been flushed to disk.
...And 4 more matches
ScreenOrientation - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscreenorientationchrome full support 38edge full support 79
firefox full support 43ie no support ...
... noopera full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0anglechrome full support 38edge full support 79
firefox full support 43ie ...
... no support noopera full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0lockchrome full support 38edge full support 79
firefox full suppo...
...And 4 more matches
Screen Orientation API - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscreenorientationchrome full support 38edge full support 79
firefox full support 43ie no support ...
... noopera full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0anglechrome full support 38edge full support 79
firefox full support 43ie ...
... no support noopera full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0lockchrome full support 38edge full support 79
firefox full suppo...
...And 4 more matches
Using Service Workers - Web APIs
note: as of
firefox 44, when appcache is used to provide offline support for a page a warning message is now displayed in the console advising developers to use service workers instead (bug 1204581.) service workers should finally fix these issues.
...if however you find that demo code is not working in your installed versions, you might need to enable a pref:
firefox nightly: go to about:config and set dom.serviceworkers.enabled to true; restart browser.
...this is really the same kind of procedure as installing a native or
firefox os app — making everything available for use offline.
...And 4 more matches
Accessibility Information for Web Authors - Accessibility
you can install a custom wave toolbar in
firefox for a quick, easy and convenient evaluation of web pages directly within
firefox.
... you can also add a wave bookmarklet in
firefox or even wave direct links for checking a webpage.
... html advanced validator (
firefox extension) by marc gueury this html validator (based on w3c tidy and on opensp for sgml validation) is a powerful, versatile, extended html validator.
...And 4 more matches
aspect-ratio - CSS: Cascading Style Sheets
formal definition initial valueautoapplies toall elements except inline boxes and internal ruby or table boxesinheritednocomputed valueas specifiedanimation typediscrete formal syntax auto | <ratio> examples mapping width and height to aspect-ratio
firefox has added an internal aspect-ratio property (in version 69 onwards) that applies to replaced elements and other related elements that accept width and height attributes.
... in
firefox, the internal stylesheet rule looks like this: img, input[type="image"], video, embed, iframe, marquee, object, table { aspect-ratio: attr(width) / attr(height); } specifications specification status comment css box sizing module level 4the definition of 'aspect-ratio' in that specification.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetaspect-ratio experimentalchrome partial support 79notes partial support 79notes notes chrome 79 adds internal support only for mapped valuesedge partial support 79notes partial support 79notes notes edge 79 adds internal support only for mapped values
firefox ...
...And 4 more matches
Writing Web Audio API code that works in every browser - Developer guides
you probably have already read the announcement on the web audio api coming to
firefox, and are totally excited and ready to make your until-now-webkit-only sites work with
firefox, which uses the unprefixed version of the spec.
...furthermore, as a result of the spec being still in flux, some browsers use deprecated properties and method names that are not present in standards-compliant browsers: safari uses the old method names,
firefox uses the new ones, and chrome and opera use both.
... in addition, not all features of web audio are already implemented in
firefox yet.
...And 4 more matches
Making content editable - Developer guides
note: in
firefox 63 beta/dev edition, some of the rich-text editing features have been disabled by default, for better cross-browser compatibility.
...see bug 1449564 and
firefox-specific html editing ui has been deprecated for additional details.
...for example, even something as simple as what happens when you press enter/return to create a new line of text inside an editable element was handled differently across the major browsers (
firefox inserted <br> elements, ie/opera used <p>, chrome/safari used <div>).
...And 4 more matches
Error.prototype.stack - JavaScript
(note that the error object also possesses the filename, linenumber and columnnumber properties for retrieving these from the error thrown (but only the error, and not its trace).) note that this is the format used by
firefox.
... argument values in the stack: prior to
firefox 14, the function name would be followed by the argument values converted to string in parentheses immediately before the at (@) sign.
... while an object (or array, etc.) would appear in the converted form "[object object]", and as such could not be evaluated back into the actual objects, scalar values could be retrieved (though it may be — it is still possible in
firefox 14 — easier to use arguments.callee.caller.arguments, as could the function name be retrieved by arguments.callee.caller.name).
...And 4 more matches
WebAssembly.Memory - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsmemorychrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
... full support 7.0nodejs full support 8.0.0memory() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
...And 4 more matches
Codecs used by WebRTC - Web media technologies
mandatory video codecs codec name profile(s) browser compatibility vp8 — chrome, edge,
firefox, safari (12.1+) avc / h.264 constrained baseline (cb) chrome (52+), edge,
firefox[1], safari [1]
firefox for android 68 and later do not support avc (h.264) anymore.
... this is due to a change in google play store requirements that prevent
firefox from downloading and installing the openh264 codec needed to handle h.264 in webrtc connections.
... other video codecs codec name profile(s) browser compatibility vp9 — chrome (48+),
firefox vp8 vp8, which we describe in general in the main guide to video codecs used on the web, has some specific requirements that must be followed when using it to encode or decode a video track on a webrtc connection.
...And 4 more matches
page-mod - Archive of obsolete content
= require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org", contentscriptfile: data.url("my-script.js") }); var data = require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org", contentscriptfile: [data.url("jquery-1.7.min.js"), data.url("my-script.js")] }); from
firefox 34, you can use "./my-script.js" as an alias for self.data.url("my-script.js").
...it will not attach scripts to add-on panels, page-workers, sidebars, or
firefox hidden windows.
...the exclude option is new in
firefox 32.
...And 3 more matches
ui - Archive of obsolete content
actionbutton an action button is a button in the main
firefox toolbar.
... attaching panels to buttons is only supported from
firefox 30 onwards.
... from
firefox 30 onwards, you can attach panels to toggle buttons, by passing the button into the panel's constructor or its show() method: frame a frame enables you to create an html iframe, using bundled html, css and javascript.
...And 3 more matches
ui/toolbar - Archive of obsolete content
experimental add a toolbar to the
firefox user interface.
...toolbars get a close button at the right-hand side, and users can show or hide the toolbar using the
firefox "view/toolbars" menu, alongside built-in toolbars like the bookmarks toolbar.
...this appears as the name of the toolbar in the
firefox "toolbars" menu.
...And 3 more matches
Miscellaneous - Archive of obsolete content
var osstring = services.appinfo.os; detecting the host application and version // get the name of the application running us services.appinfo.name; // returns "
firefox" for
firefox services.appinfo.version; // returns "2.0.0.1" for
firefox version 2.0.0.1 retrieving the version of an extension as specified in the extension's install.rdf components.utils.import("resource://gre/modules/addonmanager.jsm"); addonmanager.getaddonbyid("extension-guid@example.org", function(addon) { // this is an asynchronous callback function that might not be called immediately alert("my extension...
...'s version is " + addon.version); }); restarting
firefox/thunderbird/seamonkey_2.0 for
firefox 3 see onwizardfinish around here: http://mxr.mozilla.org/seamonkey/sou...pdates.js#1639 for
firefox 2 see around here: http://mxr.mozilla.org/mozilla1.8/so...pdates.js#1631 bug 338039 tracks improving this situation by providing a simple method to restart the application.
... example for
firefox: services.startup.quit(services.startup.eforcequit|services.startup.erestart); mouse and keyboard detecting mouse wheel events when scrolling the mouse wheel on an element, the dommousescroll event fires.
...And 3 more matches
Adding Events and Commands - Archive of obsolete content
please read appendix a for recommendations on how to use the load event to initialize your add-on without having a negative performance impact on
firefox.
...also keep in mind that there are 2 drag and drop apis, the newest (and preferred) one introduced in
firefox 3.5.
...this is because it would be very insecure to have a website js controlling the behavior of
firefox and running javascript code with chrome privileges.
...And 3 more matches
Adding sidebars - Archive of obsolete content
« previousnext » the sidebar in
firefox is a relatively large and flexible space to add rich interfaces without requiring new windows or complicated overlays.
... the code required to add a sidebar is very simple, as explained in creating a
firefox sidebar.
...keyboard shortcuts are an essential feature of
firefox, and you can add your own into your extensions, which is also great.
...And 3 more matches
Appendix A: Add-on Performance - Archive of obsolete content
add-ons can have a noticeable performance impact on
firefox.
... this is evident when opening a
firefox profile that has many add-ons installed; some profiles can take minutes to load, which is a serious inconvenience for users that gives them a negative view of
firefox.
...the
firefox window will be able to load sooner and your startup code will run almost instantaneously afterward, in parallel with the loading of the homepage or the saved tab session.
...And 3 more matches
User Notifications and Alerts - Archive of obsolete content
the main disadvantage of using alerts is that support for the alerts service is not guaranteed for all platforms and
firefox versions.
... support for windows has existed since
firefox 2.
... for mac os x, support was added on
firefox 3, and only through a third-party tool called growl.
...And 3 more matches
Security best practices in extensions - Archive of obsolete content
this is written from the perspective of a
firefox extension, but most items apply to extensions for other mozilla-based applications such as thunderbird or seamonkey.
...for example, if you load a chrome url, this means the content has been registered with
firefox and has full access.
... the sidebar: a use case the sidebar in
firefox is designed to hold both chrome (privileged) content and web (nonprivileged) content, the latter being in the form of web pages.
...And 3 more matches
Monitoring downloads - Archive of obsolete content
try to avoid using it.this interface is deprecated as of
firefox 26.
...
firefox 3 makes it easier than ever to monitor the status of downloads.
... although it was possible to do so in previous versions of
firefox, it was previously only possible for one observer to do so at a time.
...And 3 more matches
Remote debugging - Archive of obsolete content
the crash victim should at least know how to run a debugger, if not how to use it, and should have a debug build of
firefox handy.
...the developer trusts that his time is not being wasted: the crash is a real bug in
firefox.
...core dumps on mac and linux to generate a core dump on mac, type "ulimit -c unlimited", run
firefox from the command line, and make
firefox crash.
...And 3 more matches
Venkman Introduction - Archive of obsolete content
a powerful new tool is available for web developers for use in many mozilla-based products, including
firefox, mozilla suite and netscape 7.x.
... starting the debugger the javascript debugger is automatically pre-installed in mozilla 1.x but must be installed separately in
firefox and other gecko-based products, such as thunderbird and netscape 7.x.
... fortunately, the xpinstall technology makes it possible to install new application modules in
firefox by just clicking a hyperlink.
...And 3 more matches
textbox (Toolkit autocomplete) - Archive of obsolete content
toolkit applications (such as
firefox) use a different autocomplete mechanism than the mozilla suite.
... note: for
firefox 12 and above, this event handler must be set as an initial attribute.
... note: for
firefox 12 and above, this event handler must be set as an initial attribute.
...And 3 more matches
Introduction - Archive of obsolete content
there are several ways you can use xul:
firefox extension an extension adds functionality to the browser itself, often in the form of extra toolbars, context menus, or customizations to the browser's user interface.
... this is done using a feature of xul called an overlay, which allows the ui provided from one source, in this case, the
firefox browser, to be merged together with the ui from the extension.
... remote xul application you could also just place xul code on a web server and open it in
firefox, as you would any other web page, however this is discouraged and was disabled in
firefox 8.
...And 3 more matches
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.builds - october 14th to october 20th 2006 linux reference platform 1.8.1 october 18th: marcus is wondering about the linux platform that is currently used to compile both public releases of
firefox and xulrunner.
... marcus claims that when he builds
firefox using centos he encounters crashes (segmentation faults) under linux distributions such as gentoo, suse and fedora.
... adding extension to extensions/ folder originally posted on oct 19th: christopher finke is currently learning how to compile
firefox.
...And 3 more matches
2006-10-27 - Archive of obsolete content
firefox 2 wont build under solaris 10 x86 october 26: alex was trying to build
firefox 2 source on a solaris 10 x86 machine but was not successful with the build.
... he has already built
firefox 1.5.0.7 on the same machine with no problems.
... the following is his configuration script that he used to build
firefox 2 on solaris.
...And 3 more matches
Logging Multi-Process Plugins - Archive of obsolete content
when multi-process plugins are enabled,
firefox has the ability to dump additional information about interactions between the browser and a plugin.
...run
firefox in a custom environment to enable this special logging mode.
...windows make sure
firefox is not running.
...And 3 more matches
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
spidermonkey on the other hand is the javascript engine (written in c) in the highly popular mozilla
firefox browser.
...in addition, the jaxer “ajax server” (a project i work on at aptana) is an example of ssjs that uses not only spidermonkey, but also embeds the entire
firefox browser engine in the application server such that you can do server-side dom manipulation and other ajaxy things server-side that rhino was not built to do.
...spidermonkey is the code name for the first ever javascript engine, an open source c implementation which can be found embedded in leading software products such as mozilla
firefox, adobe acrobat, and aptana jaxer.
...And 3 more matches
Accessibility and Mozilla
they also define a list of possible object states, such as focused, read-only, checked, etc.accessibility features in
firefoxfirefox works with popular screen readers, with the best support currently coming from gw micro's window-eyes 5.5.
...in recent articles from both afb's access world and nfb's voice of the nation's blind, reviewers found no significant roadblocks in moving to
firefox from internet explorer for screen reader users.
...however, many of the concepts were also used during the development of firevox, an at using iaccessible2.accessible toolkit checklistplease contact the mozilla accessibility community with questions or feedback.csun
firefox materials
firefox 1.5 is a fast, free, standards compliant web browser which is rapidly gaining recognition for its fresh, streamlined approach to browsing the web.
...And 3 more matches
Theme concepts
themes developed using the webextensions api in
firefox enable you to change the look of the browser by adding images to the header area of the
firefox browser; this is the area behind the menu bar, toolbars, address bar, search bar, and tab strip.
...additionally,
firefox color can be used to preview customizations to the browser's theme with options to share and export a theme.
... static theme approaches there are two approaches you can take to theming the header area of
firefox: using a single image or using multiple images.
...And 3 more matches
Debugging JavaScript
browser console the browser console lets you see all javascript errors and logging in the browser, including from
firefox code.
... you can also start the browser console when you launch
firefox, by launching
firefox from the command line and passing --jsconsole as a flag: /path/to/
firefox --jsconsole log to the browser console using the standard console api after importing console.jsm: let console = (cu.import("resource://gre/modules/console.jsm", {})).console; console.log("hello from
firefox code"); error console this is obsolete and is no longer enabled in
firefox by default.
... browser debugger (built-in) on
firefox 19 or later, it's possible to use the built-in js debugger on the browser itself.
...And 3 more matches
Message manager overview
in multiprocess
firefox there are (at least) two processes: the chrome process, also called the parent process, runs the browser ui (chrome) code and code inserted by extensions one or more content processes, also called child processes.
...from
firefox 38 onwards, they also enable code running in the parent process to load process scripts into the child process.
... frame message managers in multiprocess
firefox, when chrome code needs to interact with web content, it needs to: factor the code that needs direct access to content into separate scripts, which are called "frame scripts" use a frame message manager to load these frame scripts into the content process use the frame message manager api to communicate with the frame script some older articles on multiprocess
firefox and the message manager might refer to "content scripts" instead of "frame scripts".
...And 3 more matches
Message manager overview
in the initial version of multiprocess
firefox there are two processes: the chrome process, also called the parent process, runs the browser ui (chrome) code and code inserted by extensions the content processes, also called the child processes, run all web content.
...from
firefox 38 onwards, they also enable code running in the parent process to load process scripts into the child process.
... frame message managers in multiprocess
firefox, when chrome code needs to interact with web content, it needs to: factor the code that needs direct access to content into separate scripts, which are called "frame scripts" use a frame message manager to load these frame scripts into the content process use the frame message manager api to communicate with the frame script some older articles on multiprocess
firefox and the message manager might refer to "content scripts" instead of "frame scripts", but this ...
...And 3 more matches
FxAccountsProfileClient.jsm
the fxaccountsprofileclient.jsm javascript module provides a way to fetch
firefox accounts profile information.
... the modules uses the
firefox profiler server api.
...fxaccountsprofileclient fxaccountsprofileclient( object options string serverurl, string token ); parameters serverurl -
firefox profile server url.
...And 3 more matches
L10n testing with xcode
setting up your l10n testing environment once you have your l10n testing environment set up in xcode, testing your
firefox on ios localization is a breeze.
... follow the cloning and building instructions for
firefox on ios.
...you're ready to test your localization of
firefox on ios.
...And 3 more matches
Localization content best practices
use proper plural forms
firefox supports proper plural forms.
... as a native english speaker, you might find it natural to use delete-cookie = delete cookie delete-cookies = delete cookies in
firefox this should be # localization note (delete-cookies): semi-colon list of plural forms.
... # see: http://developer.mozilla.org/en/docs/localization_and_plurals # #1 is the number of cookies to delete # example: delete-cookies = delete #1 cookie;delete #1 cookies important: always include the localization note with this format if you use a plural form in
firefox.
...And 3 more matches
Localizing XLIFF files for iOS
firefox for ios uses the xliff xml-based file format to hold and transfer localization data.
...most translation tools support the xliff standard, making localizing the xliff files for
firefox for ios easy to do using translation tools.
... string repository for
firefox on ios the
firefox-ios.xliff file is located in svn.
...And 3 more matches
powermetrics
the
firefox parent process and child processes.
...wing is example output from such an invocation: *** sampled system activity (fri sep 4 17:15:14 2015 +1000) (5009.63ms elapsed) *** *** running tasks *** name id cpu ms/s user% deadlines (<2 ms, 2-5 ms) wakeups (intr, pkg idle) gpu ms/s com.apple.terminal 293 447.66 274.83 120.35 221.74
firefox 84627 77.59 55.55 15.37 2.59 91.42 42.12 204.47 plugin-container 84628 377.22 37.18 43.91 18.56 178.65 75.85 17.29 terminal 694 9.86 79.94 0.00 0.00 4.39 2.20 0.00 powermetrics 84694 1.21 31.
... 104.19 54.89 26.66 com.apple.webkit.networking 84678 26.89 58.89 0.40 0.00 1.60 0.00 0.00 safari 84676 1.56 55.74 0.00 0.00 2.59 1.40 0.00 com.apple.safari.searchhelper 84690 0.15 49.49 0.00 0.00 0.20 0.20 0.00 org.mozilla.
firefox 482 76.56 124.34 63.47 0.00
firefox 84496 76.70 89.18 10.58 5.59 124.55 63.48 0.00 this sample was taken while the following programs were running:
firefox beta (single process, invoked from the mac os dock, shown in the org.mozilla.
firefox coalition.)
firefox ni...
...And 3 more matches
A brief guide to Mozilla preferences
the values are saved to the user profile (in prefs.js), for both
firefox and thunderbird.
...they are: default preference files
firefox ships default preferences in several files, all in the application directory: greprefs.js - preferences shared by all applications using the mozilla platform services/common/services-common.js - preferences for some shared services code, this should arguably be included in some other file defaults/pref/services-sync.js - default preferences for
firefox sync, also oddly misplaced browse...
... browser/app/profile/
firefox.js - defaults specific to
firefox browser/app/profile/
firefox-branding.js - defaults specific to the specific kind of
firefox being installed (nightly, aurora, beta, release) browser/defaults/preferences/
firefox-l10n.js - defaults specific to the installed language of
firefox.
...And 3 more matches
Thread Sanitizer
the version of clang you need to use depends on what
firefox release you are compiling if you are building from mozilla-central, you must use clang 3.6 or later.
... clang 3.4 + tsan cannot compile
firefox due to an internal compiler error; some versions of clang 3.5 packaged by linux distros do not work for the same reason.
... you can check which version of clang you have by running the command: clang -v if you are not building from mozilla-central and are building
firefox 39 or earlier, you must use clang 3.3.
...And 3 more matches
Web Replay
learn more web replay allows
firefox content processes to record their behavior, replay it later, and rewind to earlier states.
... getting started to enable web replay (macos and
firefox nightly only), go to devtools settings and select "enable webreplay".
... this requires using the same build of
firefox and a reasonably similar version of the operating system; otherwise the tab will probably crash.
...And 3 more matches
Security and the jar protocol
this article discusses security concerns with the jar: protocol, which only
firefox has ever implemented for web content.
... note: support for the jar: protocol was disabled by default for use from web content beginning in
firefox 45, but re-enabled again because it broke the experience of ibm inotes users.
... inotes has since been updated so that it no longer needs remote jars, so they have been disabled again in
firefox 55.
...And 3 more matches
Accessing the Windows Registry Using XPCOM
support in
firefox 1.5 or newer in
firefox 1.5, a new api was added, nsiwindowsregkey, which provides extensive registry functionality.
...if you are writing an extension that only needs to support
firefox 1.5 or newer, then you only need to read this section.
...*/ support in
firefox 1.0
firefox 1.0 includes a much simpler interface to the windows registry, without most of the functionality supported in newer versions.
...And 3 more matches
How to build an XPCOM component in JavaScript
you can download an old version of xpcomviewer that works with
firefox 1.5 from mozdev mirrors.
... for a new component in
firefox/thunderbird/b2g if you are adding a new feature to applications in the mozilla-central repository, you can create a makefile listing the idl files and the build system will automatically generate the typelib.
... # name of the typelib xpidl_module = dom_apps # set to 1 if the module should be part of the gecko runtime common to all applications gre_module = 1 # the idl sources xpidlsrcs = \ helloworld.idl \ $(null) include $(topsrcdir)/config/rules.mk xpidl_flags += \ -i$(topsrcdir)/dom/interfaces/base \ -i$(topsrcdir)/dom/interfaces/events \ $(null) creating the component using xpcomutils in
firefox 3 and later you can use import xpcomutils.jsm using components.utils.import to simplify the process of writing your component slightly.
...And 3 more matches
Components.utils.importGlobalProperties
the following strings are supported: string/object xpcom component atob blob btoa crypto css fetch file nsidomfile indexeddb nodefilter
firefox 60 nsidomnodefilter obsolete since gecko 60 rtcidentityprovider textdecoder textencoder url urlsearchparams xmlhttprequest nsixmlhttprequest obsolete since gecko 60 for string/object in table without a minimum
firefox version, it is not exactly known since when it was available, however it is guranteed ...
...available from
firefox 28 and up.
... example components.utils.import("resource://gre/modules/devtools/console.jsm"); components.utils.importglobalproperties(["atob", "btoa"]); var encoded = btoa("hello"); console.log(encoded); // "sgvsbg8=" console.log(atob(encoded)); // "hello" alternative methods if importglobalproperties does not support the targeted
firefox version, here are some alternative methods to import these objects.
...And 3 more matches
Observer Notifications
starting in
firefox 3.5 components can simply register for the profile-after-change notification in nsicategorymanager.
... [nsobserverservice.cpp] topic description xpcom-startup note: an extension can no longer be registered to receive this notification in
firefox 4 and later.
... app-startup note: an extension can no longer be registered to receive this notification in
firefox 4 and later.
...And 3 more matches
nsIAppStartup
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) implemented by: @mozilla.org/toolkit/app-startup;1.
... createstartupstate() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) creates the initial state of the application by launching tasks specfied by "general.startup.*" prefs.
... doprofilestartup() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) starts up the profile manager with the given arguments.
...And 3 more matches
nsIContentViewer
inherits from: nsisupports last changed in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7) implemented by: ?????????????????????????????????????.
... note: prior to gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7), this attribute was part of nsidocumentviewer.
... note: prior to gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7), this attribute was part of nsidocumentviewer.
...And 3 more matches
nsIDocumentLoader
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by: @mozilla.org/docloaderservice;1.
... methods clearparentdocloader() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void clearparentdocloader(); parameters none.
... createdocumentloader() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void createdocumentloader( out nsidocumentloader aninstance ); parameters aninstance destroy() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void destroy(); parameters none.
...And 3 more matches
nsIHttpChannel
warning: calling setrequestheader(), setreferrerwithpolicy() or setemptyrequestheader() while visiting request headers has undefined behavior until gecko 47 (
firefox 47.0 / thunderbird 47.0 / seamonkey 2.44).
... starting from gecko 48 (
firefox 48.0 / thunderbird 48.0 / seamonkey 2.45) they will return a ns_error_failure.
... warning: calling setresponseheader() while visiting response headers has undefined behavior until gecko 48 (
firefox 48.0 / thunderbird 48.0 / seamonkey 2.45).
...And 3 more matches
nsIXPConnect
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) to access the xpconnect service, use code like this: nsresult rv; nscomptr<nsixpconnect> xpconnect = do_getservice(nsixpconnect::getcid(), &rv); if (ns_succeeded(rv)) { /* use the object */ } method overview void addjsholder(in voidptr aholder, in nsscriptobjecttracerptr atracer); native code only!
... [noscript,notxpcom] void getcaller( out jscontextptr ajscontext, out jsobjectptr aobject ); parameters ajscontext missing description aobject missing description return value missing description exceptions thrown missing exception missing description native code only!getcowforobject obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...ctholder getwrappednativeprototype( in jscontextptr ajscontext, in jsobjectptr ascope, in nsiclassinfo aclassinfo ); parameters ajscontext missing description ascope missing description aclassinfo missing description return value missing description exceptions thrown missing exception missing description native code only!getwrapperforobject obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...And 3 more matches
Blocking By Domain - Plugins
plugins such as flash are a performance and security problem for
firefox users.
...rather than block plugins entirely,
firefox is limiting the impact of plugins by blocking certain domains from using plugins.
... these blocks improve
firefox security and performance and also make the click-to-activate feature more valuable to users by reducing unnecessary prompts.
...And 3 more matches
Plug-in Basics - Plugins
for example: #!/bin/bash export moz_plugin_path=/usr/lib64/mozilla/plugins exec /usr/lib64/
firefox/
firefox profile directory/plugins, where profile directory is the directory of the current user profile.
... /usr/lib/mozilla/plugins (the 64-bit
firefox checks /usr/lib64/mozilla/plugins as well).
... /usr/lib64/
firefox/plugins (for 64-bit
firefox) note:
firefox nightly checks a subset of these locations.
...And 3 more matches
BudgetState - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbudgetstate experimentaldeprecatednon-standardchrome full support 60edge full support ≤79
firefox ?
... webview android no support nochrome android full support 60
firefox android ?
... samsung internet android full support 8.0budgetat experimentaldeprecatednon-standardchrome full support 60edge full support ≤79
firefox ?
...And 3 more matches
FontFaceSetLoadEvent - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfontfacesetloadevent experimentalchrome full support 35edge full support ≤79
firefox full support yesie ?
... webview android no support nochrome android full support 35
firefox android full support yesopera android full support 22safari ios ?
... samsung internet android full support 3.0fontfacesetloadevent() constructor experimentalchrome full support 57edge full support ≤79
firefox ?
...And 3 more matches
GestureEvent - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgestureevent non-standardchrome no support noedge no support no
firefox no support noie no support ...
... noopera no support nosafari full support 9webview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios full support 2samsung internet android no support nogestureevent() constructor non-standardchrome no support noedge no support no
firefox no support ...
... noie no support noopera no support nosafari full support 9webview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios full support 2samsung internet android no support noinitgestureevent non-standardchrome no support noedge no support nofiref...
...And 3 more matches
IDBCursorWithValue - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbcursorwithvaluechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge ...
...full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitvaluechrome ...
...And 3 more matches
IDBDatabase.transaction() - Web APIs
transactions are opened in one of three modes: readonly, readwrite and readwriteflush (non-standard,
firefox-only.) versionchange mode can't be specified here.
... if you need to open the object store in readwrite mode to change data, you would use the following: var transaction = db.transaction('my-store-name', "readwrite"); as of
firefox 40, indexeddb transactions have relaxed durability guarantees to increase performance (see bug 1112702), which is the same behaviour as other indexeddb-supporting browsers.
...in
firefox 40+ the complete event is fired after the os has been told to write the data but potentially before that data has actually been flushed to disk.
...And 3 more matches
Privileged features - Web APIs
this page lists the windowfeatures parameter of window.open function that requires chrome-privilege in
firefox.
...mozilla 1.2+ and netscape 7.1 will render the other menu system commands (in ff 1.0 and in ns 7.0x, the command system menu is not identified with the
firefox/ns 7.0x icon on the left end of the titlebar: that's probably a bug.
...for compatibility reasons, it's now supported in
firefox.
...And 3 more matches
:scope - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:scopechrome full support 27edge full support 79
firefox full support 32notes full support 32n...
...otes notes
firefox 55 removes support for <style scoped> but not for the :scope pseudo-class, which is still supported.
...to change preferences in
firefox, visit about:config.ie no support noopera full support 15safari full support 7webview android full support ≤37chrome android full support 27
firefox android ...
...And 3 more matches
:where() - CSS: Cascading Style Sheets
you can see the result below (although bear in mind that currently :is() and :where() are currently only enabled by default in
firefox nightly, version 77+.
... in other versions of
firefox it is behind a pref — layout.css.is-where-selectors.enabled).
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:where()chrome full support 72disabled full support 72disabled disabled from version 72: this feature is behind the #enable-experimental-web-platform-features preference (needs to be ...
...And 3 more matches
CSS Scrollbars - CSS: Cascading Style Sheets
scrollbar-width desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrollbar-widthchrome no support noedge no support no
firefox full support 64 full support 64 ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 64 full support 64 full support 63disabled disabled from ve...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
...And 3 more matches
Browser detection using the user agent - HTTP
do you actually want to detect
firefox, as opposed to seamonkey, or chrome as opposed to chromium?
...so to detect safari you have to check for the safari string and the absence of the chrome string, chromium often reports itself as chrome too or seamonkey sometimes reports itself as
firefox.
... must contain must not contain
firefox firefox/xyz seamonkey/xyz seamonkey seamonkey/xyz chrome chrome/xyz chromium/xyz chromium chromium/xyz safari safari/xyz chrome/xyz or chromium/xyz safari gives two version numbers: one technical in the safari/xyz token, and one user-friendly in a version/xyz token opera opr/xyz [1] opera/xyz [1] opera 15+ (blink-based engine) [2] opera 12- (presto-based engine) internet explorer ...
...And 3 more matches
List of default Accept values - HTTP
user agent value comment
firefox text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 (since
firefox 66) text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 (in
firefox 65) text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 (before) in
firefox 65 and earlier, this value can be modified using the network.http.accept.default parameter.
... user agent value comment
firefox image/webp,*/* (since
firefox 65) */* (since
firefox 47) image/png,image/*;q=0.8,*/*;q=0.5 (before) this value can be modified using the image.http.accept parameter.
... user agent value comment
firefox earlier than 3.6 no support for <video>
firefox 3.6 and later video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5 see bug 489071 source chrome */* source internet explorer 8 or earlier no support for <video> values for audio resources when an audio file is requested, like via the <audio> html element, most b...
...And 3 more matches
Large-Allocation - HTTP
it is currently only implemented in
firefox, but is harmless to send to every browser.
...
firefox cannot move an iframe into a new process currently, so the document must load in the current process.
...
firefox has moved to a multiprocess architecture, and this architecture is required in order to support the large-allocation header.
...And 3 more matches
User-Agent - HTTP
firefox ua string for more on
firefox- and gecko-based user agent strings, see the
firefox user agent string reference.
... the ua string of
firefox is broken down into 4 components: mozilla/5.0 (platform; rv:geckoversion) gecko/geckotrail
firefox/
firefoxversion mozilla/5.0 is the general token that says the browser is mozilla-compatible.
...
firefox os phones simply say mobile — the web is the platform.
...And 3 more matches
SVG documentation index - SVG: Scalable Vector Graphics
5 linking guide, svg the target attribute on the svg <a> element doesn't work in mozilla
firefox 1.5.
...versions of svg viewers prior to the release of
firefox 1.5 unfortunately paid scant attention to namespaces, but they are essential to multi-xml dialect supporting user agents such as gecko-based browsers which must be very strict.
... 11 svg 1.1 support in
firefox firefox, svg you can find some basic examples of svg syntax and usage in the w3c svg test suite.
...And 3 more matches
Features restricted to secure contexts - Web security
api chrome/opera edge safari
firefox async clipboard api 66 not supported not supported 63 background sync (see syncmanager, for example) 49 not supported not supported not supported cache-control: immutable not supported 15 11 49 credential management api 51 not supported not supported not supported generic sensor api 67 not suppo...
... api chrome edge safari
firefox application cache restricted to secure contexts planned in chrome 70 deprecation planning started in february 2018 public interest on deprecation webkit bug 182442 restricted to secure contexts in
firefox 62 geolocation restricted to secure contexts in 50 restricted to secure contexts in 10 restricted to secure contexts in 55 device orientai...
... restricted to secure contexts in
firefox 68.
...And 3 more matches
simple-storage - Archive of obsolete content
lets an add-on store data so that it's retained across
firefox restarts.
...you may also need to include the --no-copy option to prevent
firefox from copying the profile to a temporarry directory each time it starts.
... important: if you use this method, you must end your debugging session by quitting
firefox normally, not by cancelling the shell command.
...And 2 more matches
system - Archive of obsolete content
usage querying your environment using the system module you can access environment variables (such as path), find out which operating system your add-on is running on and get information about the host application (for example,
firefox or fennec), such as its version.
... pathfor(id)
firefox enables you to get the path to certain "special" directories, such as the desktop or the profile directory.
... for example: // get
firefox profile path var profilepath = require('sdk/system').pathfor('profd'); // get os temp files directory (/tmp) var temps = require('sdk/system').pathfor('tmpd'); // get os desktop path for an active user (~/desktop on linux // or c:\documents and settings\username\desktop on windows).
...And 2 more matches
dev/panel - Archive of obsolete content
this module is new in
firefox 34.
... note that at the moment you can't debug remote targets (for example,
firefox os, the
firefox os simulator, or
firefox for android) using tools developed with this api.
... enables you to extend the
firefox developer tools.
...And 2 more matches
Using third-party modules (jpm) - Archive of obsolete content
you can use jpm from
firefox 38 onwards.
... the add-on sdk is extensible by design: you can use the modules that ship inside
firefox, but you can also create your own modules and make them available for anyone else to use.
... with jpm, we use npm as the package manager for sdk modules that don't ship inside
firefox.
...And 2 more matches
Tutorials - Archive of obsolete content
create user interfaces add a toolbar button attach a button to the
firefox add-on toolbar.
... add a menu item to
firefox add items to
firefox's main menus.
... add a context menu item add items to
firefox's context menu.
...And 2 more matches
Custom about: URLs - Archive of obsolete content
setup for
firefox 4+ this is a simple example of a custom about page for bootstrapped addons.
... in bug 1254752 things changed for
firefox 48 and up.
...this code will work for all versions of
firefox 4 and up.
...And 2 more matches
Installing Extensions and Themes From Web Pages - Archive of obsolete content
sh"), tostring: function () { return this.url; } }; this specifies the display name (foo) for use in the confirmation dialog, the url to the extension (which is the link href, recall), the icon url to display in the confirmation dialog, a hash of the xpi file contents (to protect against corrupted downloads), and a tostring function which will allow this code to work with versions of
firefox 0.8 and earlier.
...the icon can be any image format supported by
firefox, and should be 32x32 pixels in size.
... tostring() the tostring() property should return the xpi url, for compatibility with
firefox browsers older than version 1.0, and other applications such as seamonkey.
...And 2 more matches
Adding menus and submenus - Archive of obsolete content
if you have nothing to show on a menu, you should follow the standard used in
firefox: show a single disabled item with an "(empty)" label.
... if filling your menu takes a noticeable amount of time, you should not make
firefox (and your users) wait for it to fill up before displaying anything.
...an example of one such item is the view > status bar item in the main
firefox menu.
...And 2 more matches
Connecting to Remote Content - Archive of obsolete content
luckily,
firefox now provides a few alternatives for extension developers.
... the json page explains in detail how to parse json data in different versions of
firefox and other applications.
...they help you to track http/https requests and responses occurring in
firefox.
...And 2 more matches
Mozilla Documentation Roadmap - Archive of obsolete content
« previousnext » mozilla documentation
firefox extension development is still an immature discipline, with a developer base consisting mostly of hobbyists and just a few organized development groups.
...it encompasses
firefox, other mozilla products, javascript, css, xul, web and extension development guidelines, accessibility, usability, best practices...
...there are various tricks that you can't learn anywhere, but you know that
firefox implements them in some way.
...And 2 more matches
Updating addons broken by private browsing changes - Archive of obsolete content
n chrome apis: ff 19: saveurl saveinternal openlinkin ff 20: openbrowserwindow gprivatebrowsingui finally, if your code watches for any of these observer notifications: private-browsing private-browsing-cancel-vote private-browsing-change-granted private-browsing-transition-complete then your addon will require updating to correctly support the new per-window private browser feature in
firefox 20 (and will require updating to work correctly in releases of
firefox since the ones listed).
... nsiprivatebrowsingservice: this service is deprecated, and as of
firefox 20 it is now an empty interface.
...the global private browsing service is actively being removed, and may not even exist as of
firefox 21.
...And 2 more matches
Using the Stylesheet Service - Archive of obsolete content
the stylesheets registered with this api apply to all documents;
firefox 18 extended nsidomwindowutils with loadadditionalstylesheet() and removeadditionalstylesheet() to manage stylesheets for a specific document (bug 737003).
... historical information nsistylesheetservice was introduced in
firefox 1.5.
... in
firefox 1.5 and 2, adding and removing such style sheets takes effect upon the next load of a page.
...And 2 more matches
Download Manager preferences - Archive of obsolete content
in
firefox,thunderbird and seamonkey the default value is false.
...0 indicates that the downloads should be paused and resumed automatically the next time
firefox is run; 1 indicates that the downloads should be paused but will not automatically resume when the application is restarted; and 2 indicates that the downloads will be canceled on quit.
... in
firefox and seamonkey the default value is 2.
...And 2 more matches
Error Console - Archive of obsolete content
the error console is deprecated in
firefox, and is now only made available if you set the devtools.errorconsole.enabled preference to true.
...in
firefox, the error console can be opened from the tools menu or by ctrl-shift-j.
...see setting up extension development environment#development preferences for the preferences you should set if you want to see errors from
firefox and extensions in the error console.
...And 2 more matches
Frequently Asked Questions - Archive of obsolete content
we currently maintain two documents to help answer this question: a status page for svg in
firefox 1.5+ and a status page for svg in the development trunk.
... when you try to load svg files from some websites you may get a dialogue asking you "what should
firefox do with this file?".
... this is either because your browser doesn't support svg (you must have mozilla
firefox 1.5 or newer), or because the webpage/server isn't correctly telling mozilla that the file contains svg.
...And 2 more matches
Manifest Files - Archive of obsolete content
if you just want to try testing privileged xul code in the
firefox browser, you can do this easily by just using a manifest with only one line in it: create a new directory somewhere.
...the browser.manifest file used by
firefox looks like this: content branding jar:browser.jar!/content/branding/ xpcnativewrappers=yes content browser jar:browser.jar!/content/browser/ xpcnativewrappers=yes overlay chrome://global/content/viewsource.xul chrome://browser/content/viewsourceoverlay.xul overlay chrome://global/content/viewpartialsource.xul chrome://browser/content/viewsourceoverlay.xul overlay chrome://browser/content/pageinfo...
...
firefox's extension manager handles installing extensions packaged into xpi files automatically.
...And 2 more matches
Building XULRunner - Archive of obsolete content
xulrunner is built using basically the same process as
firefox or other applications.
...instead a xulrunner build is a just special build made from the
firefox/mozilla tree, using the same tag as a
firefox build.
... for instance xulrunner 1.8.1.3, the corresponding tag is cvs is :
firefox_2_0_0_3_release to find out how those
firefox tags and xulrunner version maps, check out the file mozilla/config/milestone.txt .
...And 2 more matches
2006-11-10 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - november 4, 2006 - november 10, 2006 announcements none this week.
... event in
firefox similar to ondownloadcomplete event in ie an inquiry about how to change the font of a web page before it is displayed using an extenstion.
...
firefox 2.0 - net accessed when bookmark properties viewed question about whether
firefox 2.0 downlads the web page again when the properties of the bookmark are viewed.
...And 2 more matches
2006-12-01 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - november 24, 2006 - december 1, 2006 announcements none this week.
... discussions
firefox 2.0 should re-implement modal window.open to support web 2.0 a plea to re-implement the option to show modal windows, using window.open(), from inside an untrusted script.
... xml in
firefox is a major problem a major debate surrounding the use of xml for customizing rss feeds.
...And 2 more matches
Shipping a plugin as a Toolkit bundle - Archive of obsolete content
one of the new features that is available in
firefox 1.5 is the ability to place browser plugins in a toolkit bundle.
...when this method is used, you can choose to either place the plugin into the plugins directory, or place it into your own directory and modify the windows registry to let
firefox know where to find the plugin.
...as of
firefox 3 (and any gecko 1.9 based application) the use of install.js scripts is no longer supported and plugins must either be shipped as an executable installer or in a bundle as described here.
...And 2 more matches
Plugins - Archive of obsolete content
important: since
firefox 52, all plugin support except flash has been dropped (see plug-in support has been dropped other than flash for more details).
... site author guide for click-to-activate plugins these guidelines will help website authors use plugins when they are blocked by default with the
firefox click-to-activate feature.
... supporting private browsing in plugins
firefox 3.5 introduced support for private browsing; learn how to make your plugin respect the user's privacy wishes.
...And 2 more matches
XForms - Archive of obsolete content
obsolete since gecko 19 (
firefox 19 / thunderbird 19 / seamonkey 2.16)this feature is obsolete.
... note: support for xforms was removed from
firefox in
firefox 19.
... xforms tutorial and cookbook xforms in wikibook format - over 50 examples tested with
firefox.
...And 2 more matches
CSS and JavaScript accessibility best practices - Learn web development
the following image shows the highlight in both
firefox (a dotted outline) and chrome (a blue outline): you can be creative with link styles, as long as you keep giving users feedback when they interact with the links.
... accept that users can override styles accept that users can override your styles it is possible for users to override your styles with their own custom styles, for example: see sarah maddox's how to use a custom style sheet (css) with
firefox for a useful guide covering how to do this manually in
firefox, and how to use a custom style sheet (css) with internet explorer by adrian gordon for the equivalent ie instructions.
... it is probably easier to do it using an extension, for example the stylish extension is available for
firefox, safari, opera, and chrome.
...And 2 more matches
What is CSS? - Learn web development
browsers, like
firefox, chrome, or edge , are designed to present documents visually, for example, on a computer screen, projector or printer.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfont-familychrome full support 1edge full support 12
firefox full support 1notes full support ...
...see bug 1536148.ie full support 3opera full support 3.5safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0system-uichrome full support 56edge ful...
...And 2 more matches
Basic native form controls - Learn web development
the following screenshot shows default, focused and disabled text input types in
firefox 71 and safari on macos and in chrome 79 and edge 18 on windows 10.
...for more information on what
firefox implements, see insecure passwords.
... the following screenshots show default, focused and disabled checkboxes in
firefox 71 and safari 13 on macos and chrome 79 and edge 18 on windows 10: note: any checkboxes and radio buttons with the checked attribute on load match the :default pseudo class, even if they are no longer checked.
...And 2 more matches
Mozilla splash page - Learn web development
the following subsections detail what you need to do: preparing images using your favourite image editor, create 400px wide and 120px wide versions of:
firefox_logo-only_rgb.png
firefox-addons.jpg mozilla-dinosaur-head.png call them something sensible, e.g.
...
firefoxlogo400.png and
firefoxlogo120.png.
...you'll also link to the
firefox logo in the site header.
...And 2 more matches
Handling common HTML and CSS problems - Learn web development
as an example, in
firefox the css inspector will show css declarations that aren't applied crossed out, with a warning triangle.
...on a non-supporting platform such as
firefox or internet explorer, the inputs will just fallback to normal text inputs, so at least the user can still enter some information.
... for example, in the
firefox dev tools, you get this kind of output at the bottom of the dom inspector: if for example you were trying to use this selector, you'd be able to see that it wouldn't select the input element as desired: form > #date (the date form input isn't directly inside the <form>; you'd be better off using a general descendant selector instead of a child selector).
...And 2 more matches
Handling common JavaScript problems - Learn web development
let's investigate this now, using a more sophisticated feature of browser developer tools: the javascript debugger as it is called in
firefox.
... in
firefox, the debugger tab looks as follows: on the left, you can select the script you want to debug (in this case we have only one).
... the code used to look something like this (although this is a simplified example): let ua = navigator.useragent; if(ua.indexof('
firefox') !== -1) { // run
firefox-specific code } else if(ua.indexof('chrome') !== -1) { // run chrome-specific code } the idea was fairly good — detect what browser is viewing the site, and run code as appropriate to make sure the browser will be able to use your site ok.
...And 2 more matches
omni.ja (formerly omni.jar)
firefox and thunderbird achieve performance improvements by moving many of their internal parts from being standalone files or sets of jar files into just one jar file called omni.ja; this reduces the amount of i/o needed to load the application.
... note: starting with
firefox 10 and thunderbird 10, the file extension .ja is used because windows system restore does not back up files with the .jar extension, but it does back up .ja files.
... this change was needed to prevent
firefox from becoming corrupted.
...And 2 more matches
Frequently Asked Questions for Lightweight themes
lightweight themes are easy-to-install, easy-to-use skins that change the look of your
firefox web browser.
... lightweight themes work with any type of computer that has
firefox installed.
... installing lightweight themes how do i add lightweight themes to my
firefox?
...And 2 more matches
Creating MozSearch plugins
firefox 2 uses a simplified form of the opensearch format for storing search plugins.
...it should only be used if your intention is to distribute the search plugin packaged in a
firefox extension, or if you are creating plugins meant to be shipped by default in a
firefox build.
... for creating search plugins for installation from the web, see creating opensearch plugins for
firefox the plugin file the mozsearch format is similar to the opensearch format.
...And 2 more matches
Creating a spell check dictionary add-on
this page describes how to package a hunspell spell check dictionary as a
firefox add-on, or how to update your existing add-on, so that it can be installed, uninstalled and updated without a restart.
... packaging a
firefox add-on is a zip file renamed to use an .xpi file extension instead of the normal .zip file extension.
...nstall-manifest"> <em:id>locale-code@dictionaries.addons.mozilla.org</em:id> <em:version>version number</em:version> <em:type>64</em:type> <em:unpack>true</em:unpack> <em:name>name</em:name> <!-- other install.rdf metadata such as em:localized, em:description, em:creator, em:developer, em:translator, em:contributor or em:homepageurl --> <!--
firefox --> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>18.0a1</em:minversion> <em:maxversion>46.0</em:maxversion> </description> </em:targetapplication> <!-- thunderbird --> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> ...
...And 2 more matches
Contributing to the Mozilla code base
we know even before you start contributing that getting set up to work on
firefox and finding a bug that's a good fit for your skills can be a challenge.
... project skills documentation/onboarding
firefox browser (core layers) c++
firefox developers documentation
firefox (front-end) javascript and/or html/css
firefox developers documentation devtools javascript and/or html/css contribute to devtools add-ons javascript and/or html/css contribute to add-ons
firefox focus for android java contribute to
firefox focus for android ...
...
firefox for fire tv java contribute to
firefox for fire tv
firefox preview (mobile browser, codename: "fenix") kotlin contribute to
firefox preview
firefox for ios swift contribute to
firefox for ios
firefox focus for ios swift contribute to
firefox focus for ios mozilla hubs javascript and/or html/css, vr contribute to mozilla hubs servo rust contribute to servo there are even many ways to contribute to the mozilla mission without programming.
...And 2 more matches
Gecko SDK
firefox, since you do not access parts of the front end from within a component.
... the sdk follows the same release schedule as
firefox/thunderbird.
... download link latest gecko (latest
firefox) gecko 1.9.2 (
firefox 3.6) gecko 1.9.1 (
firefox 3.5) gecko 1.9 (
firefox 3.0) gecko 1.8 (
firefox 1.5 and 2.0) windows download download download download download 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 do...
...And 2 more matches
How to implement a custom autocomplete search component
a newer and slightly simplified mechanism that is used in "toolkit" applications such as
firefox and xulrunner.
...there are more options and features, see xul:textbox_(
firefox_autocomplete) for more details.
... the toolkit mechanism has built-in support for several autocomplete sources, including: history: search the browser's url history (
firefox: 1.0+; seamonkey: 1.1+) form-history: search the values that the user has entered into form fields.
...And 2 more matches
JNI.jsm
to use it, you first need to import the code module into your javascript scope: components.utils.import("resource://gre/modules/jni.jsm"); this module was available in
firefox since version 17.
...the most common use for this module is in add-ons and other works on
firefox for android (fennec).
... with this module, all of the android sdk functions that
firefox has permissions for are at your fingertips.
...And 2 more matches
PromiseWorker.jsm
here is the test case from
firefox codebase: mozilla dxr :: test_promise.js.
... transferring special data from main thread to worker the regular rules of workers apply; special data of messageport and arraybuffer objects can be transferred as of
firefox 40.
... the complete demo is found here: github :: promiseworker custom errors demo catching the promise from the worker, it is not possible, as of
firefox 40, to cause the promise on the main thread catch.
...And 2 more matches
Using JavaScript code modules
if you're writing an extension for
firefox 4 and already have a chrome.manifest with a content instruction in it, you can put the code module in your content folder and reference it like your other content files via chrome://<yourextension>/content/<yourmodule>.jsm.
... if your extension or application needs to support mozilla 1.9.x (
firefox 3.x), you should register a new resource url.
... unloading code modules requires gecko 7.0(
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) components.utils.unload() allows you to unload a previously imported code module.
...And 2 more matches
Localizing with Mozilla Translator
let's assume you have a
firefox product in mt with the directory layout present in language packs, as you probably would need for a initial localization.
... from cvs to mercurial in mt so, you have a
firefox product in mt with a platform neutral and, inside it, several directories (''components'' in mt terminology) more or less like the second sample above, checked out from cvs.
...besides that, you will need to create one tiny product for other-licenses/branding/
firefox.
...And 2 more matches
Localization formats
you may choose to present just the html for localization: we give an html file which lists several pieces of content like, <h1>getting started</h1> and the localizer translates to <h1>débuter avec
firefox</h1> the localizer then submits the translated html or php back to us by either checking in changes to svn or sending us a patch that pascal checks in.
...that file will have the following structure: ;getting started débuter avec
firefox the english content is designated by the semi-colon and the localizer provides the translation underneath.
... $array["getting started"] = "débuter avec
firefox" the php code searches the array and returns the translation that is associated with the english term used by the web developer.
...And 2 more matches
Mozilla projects on GitHub
code
firefox the code
firefox site, with videos and tutorials about how to contribute to the
firefox project and mozilla code in general.
... debugger.html the debugger.html, a modern universal js debugger for
firefox devtools, node, and every other js environment.
... fxdt-adapters the
firefox developer tools adapter that lets you debug various remote targets from the
firefox developer tools.
...And 2 more matches
Build Metrics
"build metrics" is a catch-all term for performance measures that are generated by the
firefox build system and tracked by perfherder.
... num_constructors number of static constructors found by the compiler in the
firefox c++ codebase.
...static constructors are undesirable because their initialization imposes an unavoidable time penalty every time
firefox is started.
...And 2 more matches
Investigating leaks using DMD heap scan mode
firefox’s dmd heap scan mode tracks the set of all live blocks of malloc-allocated memory and their allocation stacks, and allows you to log these blocks, and the values stored in them, to a file.
... prerequisites a debug dmd build of
firefox.
... definitions i'll write $objdir for the object directory for your
firefox dmd build, $srcdir for the top level of the
firefox source directory, and $heapgraph for the location of the heapgraph repo, and $logdir for the location you want logs to go to.
...And 2 more matches
Reporting a Performance Problem
enabling the profiler toolbar button these steps only work in
firefox 75+.
... visit https://profiler.
firefox.com/ click on "enable profiler menu button" the profiler toolbar button will show up in the top right of the url bar as a small stopwatch icon you can right-click on the button and remove it from the toolbar when you're done with it.
...make sure to choose an appropriate setting for the recording (if you're not sure, choose
firefox platform), and then choosing "start recording".
...And 2 more matches
Performance
about:memory is built on top of
firefox's memory reporting infrastructure.
...the "leaks" tool is not recommended for use with spidermonkey or
firefox, because it gets confused by tagged pointers and thinks objects have leaked when they have not (see bug 390944).
...that log can then be replayed against
firefox's default memory allocator independently or through another replace-malloc library, allowing the testing of other allocators under the exact same workload.
...And 2 more matches
A guide to searching crash reports
the mozilla crash-stats site provides facilities for investigating large numbers of
firefox crash reports.
... this guide to searching through crash reports may help you locate the crash reports that will help you find and fix the
firefox bug you're working on.
...the product field is pre-populated with "
firefox" because that is a common case.
...And 2 more matches
Midas editor module security preferences
this functionality is completely removed since 2013-12-14 18:23 pst, see: bugs 38966 and 913734 note: if you've reached this page from a message box in
firefox or another mozilla product, try using keyboard shortcuts for the cut, copy, and paste commands: copy: ctrl+c or ctrl+insert (command+c on mac) paste: ctrl+v or shift+insert (command+v on mac) cut: ctrl+x or shift+delete (command+x on mac) the information on the rest of this page is for web developers and advanced users.
...only change these settings as needed to try the demo above and to test your own add-on or
firefox-internal code, and be sure to restore the default settings when you're done!
... changing the preferences in
firefox quit
firefox.
...And 2 more matches
WebReplayRoadmap
replay was an early-stage experiment and is no longer part of
firefox.
... this document describes existing, planned, and potential features for the
firefox developer tools that are based on web replay, along with their ui.
... cloud integration (partially implemented) storing recordings in the cloud and interacting with them via the debugger could streamline several features described above: difficulties when recording and replaying on different machines with incompatible
firefox builds or operating systems will be smoothed out.
...And 2 more matches
places.sqlite Database Troubleshooting
how to (try to) recover from a corrupt places.sqlite sometimes after a
firefox/aurora/nightly upgrade, history disappears, but bookmarks are at their place.
... close
firefox and ensure it's done closing in your task manager.
... before you proceed, make a backup of the
firefox profile folder, in any case.
...And 2 more matches
XPCOM glue
internal linkage will be unavailable to extension authors in xulrunner 1.9 (
firefox 3) because the nonfrozen symbols will not be exported from libxul.
... linking strategy: dependent glue standalone glue compiler flags: cross-platform #include "xpcom-config.h" #include "xpcom-config.h" #define xpcom_glue windows /fi "xpcom-config.h" linux -include "xpcom-config.h" linker flags: windows for older versions of the
firefox sdk: -libpath:c:/path/to/sdk/lib xpcomglue_s.lib xpcom.lib nspr4.lib for recent versions of the
firefox sdk (at least version 42, but possibly earlier versions as well): -libpath:c/path/to/sdk/lib xpcomglue_s.lib xul.lib nss3.lib mozcrt.lib -libpath:c:/path/to/sdk/lib xpcomglue.lib mac -l/path/to/sdk/lib -l/path/to/sdk/bin -wl,-executable-path,/path/to/sdk/b...
... to link against xpcom using recent versions of the
firefox sdk (at least version 42, but possibly earlier versions as well), you need to link against xul (libxul/xul.lib).
...And 2 more matches
nsIAccessibleRetrieval
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsiaccessible getaccessiblefor(in nsidomnode anode); nsiaccessible getaccessibleinshell(in nsidomnode anode, in nsipresshell apresshell); nsiaccessible getaccessibleinweakshell(in nsidomnode anode, in nsiweakreference apresshell); obsolete since gecko 2.0 nsiaccessible getaccessibleinwindow(in nsidomnode anode, in nsidomwindow adomwin); obsolete since gecko 2.0 nsiaccessible getapplicationaccessible(); nsiaccessible getattachedaccessiblefor(i...
... getaccessibleinweakshell() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) return an nsiaccessible for a dom node in the given weak shell.
... getaccessibleinwindow() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) return an nsiaccessible for a dom node in present shell for this dom window.
...And 2 more matches
nsIAlertsService
1.0 66 introduced gecko 1.7 inherits from: nsisupports last changed in gecko 22 (
firefox 22 / thunderbird 22 / seamonkey 2.19) by default a message is displayed in a small window that slides up from the bottom of the screen, holds there for a few seconds, then slides down.
... note: prior
firefox 22, the alerts service was only supported on windows in gecko 1.7, had no effect on mac os x in gecko 1.8, but was fully supported in mac os x in gecko 1.9.
... note: since gecko 22, the notifications are provided by
firefox and have become platform-independent.
...And 2 more matches
nsIDOMNSHTMLDocument
inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void captureevents(in long eventflags); void clear(); boolean execcommand(in domstring commandid, in boolean doshowui, in domstring value); boolean execcommandshowhelp(in domstring commandid); obsolete since gecko 14.0 domstring getselection(); nsidomdocument open(in acstring acontenttype, in boolean areplace); boolean querycommandenabled(in domstring commandid); boolean querycommandindeterm(in domstring commandid); ...
... execcommandshowhelp() obsolete since gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) this method never did anything but throw an exception, and was removed entirely in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11).
... querycommandtext() obsolete since gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) this method never did anything but throw an exception, and was removed entirely in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11).
...And 2 more matches
nsIDOMWindowUtils
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 49.0 (
firefox 49.0 / thunderbird 49.0 / seamonkey 2.46) implemented by: window.
... the structure of the json is unspecified and may vary between versions of
firefox.
... the structure of the json is unspecified and may vary between versions of
firefox.
...And 2 more matches
nsILocalFileMac
inherits from: nsilocalfile last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview cfurlref getcfurl(); native code only!
...native code only!inittoappwithcreatorcode obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
... native code only!initwithfsspec obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0)this feature is obsolete.
...And 2 more matches
nsIMacDockSupport
1.0 66 introduced gecko 2.0 inherits from: nsimacdocksupport last changed in gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8) implemented by: @mozilla.org/cookie-monster;1.
... about dockmenu by default
firefox adds two menu items to the dock menu.
...notice the activateapplication(true), if this is not done then
firefox will not be activated.
...And 2 more matches
nsINavHistoryResultObserver
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8) note: in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), this interface replaced the older nsinavhistoryresultviewer interface, which only allowed one client at a time.
... containerclosed() obsolete since gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8) called when a container node's state changes from opened to closed.
... note: this method was deprecated in gecko 2.0 and removed in gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8).
...And 2 more matches
nsIPluginHost
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsifile createtempfiletopost(in string apostdataurl); native code only!
... nsifile createtempfiletopost( in string apostdataurl ); parameters apostdataurl return value native code only!createtmpfiletopost obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
... void findproxyforurl( in string aurl, out string aresult ); parameters aurl aresult native code only!getplugin nsiplugin getplugin( in string amimetype ); parameters amimetype return value getplugincount() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void getplugincount( out unsigned long aplugincount ); parameters aplugincount native code only!getpluginfactory obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0)this feature is obsolete.
...And 2 more matches
DOMHighResTimeStamp - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20 µs in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 event.timestamp // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in
firefox, you can also enable privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
...And 2 more matches
DataTransfer - Web APIs
removed in
firefox 71.
...removed in
firefox 71.
...removed in
firefox 71.
...And 2 more matches
Document.execCommand() - Web APIs
the grabber is disabled by default since
firefox 64 (bug 1490641).
...the controls are disabled by default since
firefox 64 (bug 1490641).
...the handles are disabled by default since
firefox 64 (bug 1490641).
...And 2 more matches
FileSystem - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystemchrome full support 7alternate name full support 7alternate name alternate name uses the non-standard name: domfilesystemedge full support ...
...it's not available for use in file or folder picker panels (such as when you use an <input> element with the htmlinputelement.webkitdirectory attribute.
firefox full support 50ie no support noopera full support 15prefixed full support 15prefixed prefixed implemented with the vendor prefix: webkitsafari full support 11.1webview andro...
... ≤37alternate name full support ≤37alternate name alternate name uses the non-standard name: domfilesystemchrome android full support 18alternate name full support 18alternate name alternate name uses the non-standard name: domfilesystem
firefox android full support 50opera android full support 14prefixed full support 14prefixed prefixed implemented with the vendor prefix: webkitsafari ios full support 11.3samsung internet android full support ...
...And 2 more matches
FileSystemDirectoryReader - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystemdirectoryreader deprecatednon-standardchrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: directoryreaderedge ...
... full support ≤18alternate name full support ≤18alternate name alternate name uses the non-standard name: webkitdirectoryreader
firefox full support 50ie no support noopera full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitsafari full support 11.1webview android full support ≤37alternate name full support ≤37alternate name alternate name uses the ...
...non-standard name: directoryreaderchrome android full support 18alternate name full support 18alternate name alternate name uses the non-standard name: directoryreader
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitreadentries deprecatednon-standardchrome full support 8edge ...
...And 2 more matches
FileSystemFileEntry - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystemfileentrychrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: fileentryedge full support ...
... 79prefixed full support 79prefixed prefixed implemented with the vendor prefix: webkit
firefox full support 50ie no support noopera no support nosafari full support 11.1webview android full support ≤37alternate name full support ≤37alternate name alternate name uses the non-standard name: fileentrychrome android full support 18alternate name full support 18alternate name altern...
...ate name uses the non-standard name: fileentry
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcreatewriter deprecatednon-standardchrome full support 8edge full support 79
firefox no support 50 — 52notes no support 50 — 52notes notes while the createwriter() method existe...
...And 2 more matches
FileSystemSync - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystemsync non-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox no support noie no support noopera full support 15prefixed full support 15prefixed prefixed implemented with the vendor prefix: webkitsafari full support 6prefixed full support 6prefixed prefixed implemented with the vendor prefix: webkitwebview android full support ≤37prefixed full support ...
... ≤37prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 18prefixed full support 18prefixed prefixed implemented with the vendor prefix: webkit
firefox android no support noopera android full support 14prefixed full support 14prefixed prefixed implemented with the vendor prefix: webkitsafari ios full support 6prefixed full support 6prefixed prefixed implemented with the vendor prefix: webkitsamsung internet android full suppo...
...And 2 more matches
HTMLSlotElement.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetname experimentalchrome full support 53edge full support 79
firefox full support 63 full support ...
...to change preferences in
firefox, visit about:config.
...to change preferences in
firefox, visit about:config.ie no support noopera full support 40safari full support 10.1webview android full support 53chrome android full support 53
firefox android full support 63 full support 63 ...
...And 2 more matches
Working with the History API - Web APIs
because
firefox saves state objects to the user's disk so they can be restored after the user restarts the browser, we impose a size limit of 640k characters on the serialized representation of a state object.
... note: in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) through gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2), the passed object is serialized using json.
... starting in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3), the object is serialized using the structured clone algorithm.
...And 2 more matches
IDBObjectStore.createIndex() - Web APIs
locale currently
firefox-only (43+), this allows you to specify a locale for the index.
...has been deleted or removed.) in
firefox previous to version 41, an invalidstateerror was raised in this case as well, which was misleading; this has now been fixed (see bug 1176165.) example in the following example you can see the idbopendbrequest.onupgradeneeded handler being used to update the database structure if a database with a higher version number is loaded.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcreateindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full su...
...And 2 more matches
IDBObjectStore.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnamechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitrenaming through nam...
...And 2 more matches
IDBRequest.error - Web APIs
in chrome 48+/
firefox 58+ this property returns a domexception because domerror has been removed from the dom standard.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung interneterrorchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
...And 2 more matches
IDBTransaction.error - Web APIs
in chrome 48+/
firefox 58+ this property returns a domexception because domerror has been removed from the dom standard.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung interneterrorchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
...And 2 more matches
IDBTransaction.oncomplete - Web APIs
as of
firefox 40, indexeddb transactions have relaxed durability guarantees to increase performance (see bug 1112702), which is the same behaviour as other indexeddb-supporting browsers.
...in
firefox 40+ the complete event is fired after the os has been told to write the data but potentially before that data has actually been flushed to disk.
... note: in
firefox, if you wish to ensure durability for some reason (e.g.
...And 2 more matches
Basic concepts - Web APIs
durable in
firefox, indexeddb used to be durable, meaning that in a readwrite transaction idbtransaction.oncomplete was fired only when all data was guaranteed to have been flushed to disk.
... as of
firefox 40, indexeddb transactions have relaxed durability guarantees to increase performance (see bug 1112702), which is the same behaviour as other indexeddb-supporting browsers.
... note: in
firefox, if you wish to ensure durability for some reason (e.g.
...And 2 more matches
KeyboardEvent - Web APIs
this was implemented only by
firefox, and is no longer supported even there; instead, you should use the keyboardevent() constructor.
...in
firefox 26 this returns codes for printable characters.
... on linux,
firefox 12 and earlier also dispatched the keypress event for these keys.
...And 2 more matches
Page Visibility API - Web APIs
budget-based background timeout throttling is now available in modern browsers (
firefox 58+, chrome 57+), placing an additional limit on background timer cpu usage.
... this operates in a similar way across modern browsers, with the details being as follows: in
firefox, windows in background tabs each have their own time budget in milliseconds — a max and a min value of +50 ms and -150 ms, respectively.
... the budget regenerates at a rate of 10 ms per second, in both
firefox and chrome.
...And 2 more matches
PaymentAddress.toJSON() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettojson()chrome full support 61disabled full support 61disabled disabled from version 61: this feature is behind the #web-payments preference (needs to be set to enabled).
... to change preferences in chrome, visit chrome://flags.edge full support 15
firefox full support 62notes disabled full support 62notes disabled notes available only in nightly builds.
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 61disabled full support 61disabled disabled from version 61: this feature is behind th...
...And 2 more matches
performance.now() - Web APIs
for example,
firefox rounds the returned time to 1 millisecond increments.
... in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 1ms.
... // reduced time precision (1ms) in
firefox 60 performance.now(); // 8781416 // 8781815 // 8782206 // ...
...And 2 more matches
Using the Permissions API - Web APIs
at the moment, implementation of the api is at an early stage, so support in browsers is pretty spotty: it can only be found in chrome 44 and later and
firefox 43 and later.
... the only two apis currently recognized by the permissions api in chrome are geolocation and notification, with
firefox also recognizing push and webmidi.
... revoking permissions starting in
firefox 47, you can now revoke existing permissions, using the permissions.revoke() method.
...And 2 more matches
PushEvent - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpushevent experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: this feature is...
... full support 17
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no support nowebview android no support nochrome android full support 42
firefox android full support 44 full support ...
... full support 17
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no suppo...
...And 2 more matches
SVGCircleElement - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgcircleelementchrome full support 1edge full support 12
firefox full support 1.5ie full support ...
... 9opera full support 8safari full support 3.1webview android full support 3chrome android full support 18
firefox android full support 4opera android full support yessafari ios full support 3.1samsung internet android full support 1.0cxchrome full support yesedge full support 12
firefox full support yesie ...
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yescychrome full support yesedge full support 12
firefox full support ...
...And 2 more matches
Slottable: assignedSlot - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetassignedslot experimentalchrome full support 53edge full support 79
firefox full support 63 full support ...
...to change preferences in
firefox, visit about:config.
...to change preferences in
firefox, visit about:config.ie no support noopera full support 40safari full support 10.1webview android full support 53chrome android full support 53
firefox android full support 63 full support 63 ...
...And 2 more matches
Using WebRTC data channels - Web APIs
for example, both
firefox and google chrome use the usrsctp library to implement sctp, but there are still situations in which data transfer on an rtcdatachannel can fail due to differences in how they call the library and react to errors it returns.
... when two users running
firefox are communicating on a data channel, the message size limit is much larger than when
firefox and chrome are communicating because
firefox implements a now deprecated technique for sending large messages in multiple sctp messages, which chrome does not.
...this is implemented in
firefox 57, but is not yet implemented in chrome (see chromium bug 7774).
...And 2 more matches
Using the Web Speech API - Web APIs
to run the demo, you can clone (or directly download) the github repo it is part of, open the html index file in a supporting desktop browser, or navigate to the live demo url in a supporting mobile browser like chrome, or
firefox os.
... browser support support for web speech api speech synthesis is still getting there across mainstream browsers, and is currently limited to the following:
firefox desktop and mobile support it in gecko 42+ (windows)/44+, without prefixes, and it can be turned on by flipping the media.webspeech.synth.enabled flag to true in about:config.
...
firefox os 2.5+ supports it, by default, and without the need for any permissions.
...And 2 more matches
Window.customElements - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcustomelementschrome full support 54edge full support 79
firefox full support 63 full support 6...
...to change preferences in
firefox, visit about:config.
...to change preferences in
firefox, visit about:config.ie no support noopera full support 41safari full support 10.1webview android full support 54chrome android full support 54
firefox android full support 63 full support 6...
...And 2 more matches
-moz-image-rect - CSS: Cascading Style Sheets
examples this example loads an image and uses it in four segments to draw the
firefox logo in four <div> blocks.
... #box1 { background-image: -moz-image-rect(url(https://mdn.mozillademos.org/files/12053/
firefox.png), 0%, 50%, 50%, 0%); width:133px; height:136px; position:absolute; } this is the top-left corner of the image.
... it defines a rectangle containing the top-left quarter of the image in the file
firefox.jpg.
...And 2 more matches
:is() (:matches(), :any()) - CSS: Cascading Style Sheets
note that currently browsers support this functionality as :matches(), or through an older, prefixed pseudo-class — :any(), including older versions of chrome,
firefox, and safari.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:is()chrome full support 68notes disabled full support 68notes disabled notes combinators in the selector list argument may not match correctly (see bug 842157).disabled from version ...
... full support 79notes alternate name notes doesn't support combinators.alternate name uses the non-standard name: :-webkit-any()
firefox full support 78 full support 78 full support 77notes disabled notes enabled by default in
firefox nightly.disabled from version 77: this feature is behind the layout.css.is-where-selectors.enabled preference (needs to be set to enabled).
...And 2 more matches
:visited - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:visitedchrome full support 1edge full support 12
firefox full support 1ie full support 4opera ...
... full support 3.5safari full support 1webview android full support 4.4chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0:visited no longer matches <link> elementschrome full support 1notes full support 1notes notes chromium has never matched <link> e...
...lements with link pseudo-classes.edge full support 12
firefox full support 70ie no support noopera full support 15notes full support 15notes notes chromium has never matched <link> elements with link pseudo-classes.safari full support 12webview android full support 4.4notes full support 4.4notes notes chromium has never matched <link> elements with link pseudo-classes.chrome android full support 18...
...And 2 more matches
@supports - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet@supportschrome full support 28edge full support 12
firefox full support 22 full support 22 ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 12.1safari full support 9webview android full support ≤37chrome android full support 28
firefox android full support 22 full support 22 no support 17 — 22disabled disable...
...to change preferences in
firefox, visit about:config.opera android full support 12.1safari ios full support 9samsung internet android full support 1.5selector()chrome full support 83edge full support 83
firefox full support 69 full support 69 full support 64disabled disabled from version 64: this feat...
...And 2 more matches
WebKit CSS extensions - CSS: Cascading Style Sheets
-webkit-mask-position-x* -webkit-mask-position-y* * supported unprefixed in
firefox, with prefix in safari.
... supported in
firefox with -webkit- prefix the following properties are supported with the -webkit- prefix in
firefox.
... note: due to the legacy code in a multitude of web sites that used -webkit- prefixed properties, edge and
firefox redirect many -webkit- prefixed properties to -moz-, -ms-, and unprefixed equivalents.
...And 2 more matches
animation-delay - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetanimation-delaychrome full support 43 full support 43 full support 3prefixed prefixed implemented with the vendor prefix: -webkit-edge ...
... full support 12
firefox full support 16notes full support 16notes notes before
firefox 57,
firefox does not repaint elements outside the viewport that are animated into the viewport with a delay.
...to change preferences in
firefox, visit about:config.
...And 2 more matches
background-position - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbackground-positionchrome full support 1edge full support 12
firefox full support 1ie full support ...
... 4opera full support 3.5safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0multiple backgroundschrome full support 1edge full support 12
firefox full support ...
... 3.6ie full support 9opera full support 10.5safari full support 1.3webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0four-value syntax (support for offsets from any edge)chrome full support 25edge ...
...And 2 more matches
box-direction - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbox-direction deprecatednon-standardchrome full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -webkit-edge full support ...
... 12prefixed full support 12prefixed prefixed implemented with the vendor prefix: -webkit-
firefox full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -moz- full support 49prefixed prefixed implemented with the vendor prefix: -webkit- full support 48prefixed disabled prefixed implemented with the vendor prefix: -webkit-disabled from version 48: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.ie no support noopera full support 15prefixed full support 15prefixed prefixed implemented with the vendor prefix: -webkit-safari full support 3prefixed full support 3prefixed prefixed implemented with the vendor prefix: -webkit- no support 1.1 — 3prefixed prefixed implemented with the vendor prefix: -khtml-webview android full support ≤37prefixed full support ≤37prefixed prefixed implemented with th...
...And 2 more matches
quotes - CSS: Cascading Style Sheets
that's the question!</q> css q { quotes: '"' '"' "'" "'"; } q::before { content: open-quote; } q::after { content: close-quote; } result auto quotes for most browsers, the default value of quotes is auto (
firefox 70+), or the browser otherwise had this default behavior (chromiums, safari, edge), so this example works without it being explicitly being set.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetquoteschrome full support 11edge full support 12
firefox full support 1.5ie full support 8opera...
... full support 4safari full support 9webview android full support 37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 9samsung internet android full support 1.0auto keywordchrome no support nonotes no support nonotes notes this value is not supported, but the default browser behavior is to cho...
...And 2 more matches
Index - Developer guides
5 wai aria live regions/api support ajax, accessibility
firefox 3 contains important improvements to the way the mozilla engine exposes live changes in a document.
...currently, to support all browsers we need to specify two formats, although with the adoption of mp3 and mp4 formats in
firefox and opera, this is changing fast.
... web audio playbackrate explained apps, audio, media, video, playbackrate the playbackrate property of the <audio> and <video> elements allows us to change the speed, or rate, at which a piece of web audio or video is playing 15 writing web audio api code that works in every browser api you probably have already read the announcement on the web audio api coming to
firefox, and are totally excited and ready to make your until-now-webkit-only sites work with
firefox, which uses the unprefixed version of the spec.
...And 2 more matches
<button>: The Button element - HTML: Hypertext Markup Language
autocomplete this attribute on a <button> is nonstandard and
firefox-specific.
... unlike other browsers,
firefox persists the dynamic disabled state of a <button> across page loads.
...
firefox, unlike other browsers, persists the dynamic disabled state of a <button> across page loads.
...And 2 more matches
<input type="search"> - HTML: Hypertext Markup Language
firefox for android only.
... mozactionhint a mozilla extension, supported by
firefox for android, which provides a hint as to what sort of action will be taken if the user presses the enter or return key while editing the field.
...to see the status of the change being implemented in
firefox, see bug 1490661.
...And 2 more matches
Link types - HTML: Hypertext Markup Language
(in
firefox, before
firefox 37, this worked only in links found in pages.
... <a>, <area>, <form> <link> opener reverts implicit rel="noopener" addition on links with target="_blank" (see related html spec discussion, webkit change, and
firefox bug discussion).
...starting with
firefox 44, the value of the crossorigin attribute is taken into consideration, making it possible to make anonymous prefetches.
...And 2 more matches
WebAssembly.Global - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsglobalchrome full support 69edge no support no
firefox full support 62ie no support noop...
...era no support nosafari no support nowebview android full support 69chrome android full support 69
firefox android full support 62opera android no support nosafari ios no support nosamsung internet android full support 10.0nodejs no support noglobal() constructorchrome full support 69edge no support no
firefox ...
... full support 62ie no support noopera no support nosafari no support nowebview android full support 69chrome android full support 69
firefox android full support 62opera android no support nosafari ios no support nosamsung internet android full support 10.0nodejs no support novaluechrome full suppor...
...And 2 more matches
WebAssembly.Instance - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsinstancechrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
... full support 7.0nodejs full support 8.0.0instance() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
...And 2 more matches
Getting started - SVG: Scalable Vector Graphics
then open the file in
firefox.
...(
firefox users: click here) the rendering process involves the following: we start with the <svg> root element: a doctype declaration as known from (x)html should be left off because dtd based svg validation leads to more problems than it solves before svg 2, to identify the version of the svg for other types of validation the version and baseprofile attributes should always be used instead.
...however, this technique doesn't work in
firefox before 4.0.
...And 2 more matches
Understanding WebAssembly text format - WebAssembly
bulk memory operations bulk memory operations are a newer addition to the language (for example, in
firefox 79) — seven new built-in operations are provided for bulk memory operations such as copying and initializing, to allow webassembly to model native functions such as memcpy and memmove in a more efficient, performant way.
... reference types the reference types proposal (supported in
firefox 79) provides two main features: a new type, externref, which can hold any javascript value, for example strings, dom references, objects, etc.
... multi-value webassembly another more recent addition to the language (for example, in
firefox 78) is webassembly multi-value, meaning that webassembly functions can now return multiple values, and instruction sequences can consume and produce multiple stack values.
...And 2 more matches
tabs - Archive of obsolete content
attaching stylesheets new in
firefox 34.
... you can't attach style sheets to a tab using tab.attach(), but from
firefox 34 onwards you can attach and detach them using the low-level stylesheet/style and content/mod apis.
...in particular, your code might not work with multiprocess
firefox.
... readystate new in
firefox 33.
console - Archive of obsolete content
if you have started
firefox for your add-on from the command line with jpm run or jpm test then these messages appear in the command shell you used.
... if the add-on has been installed in
firefox, then the messages appear in the browser console.
... if you're developing your add-on using the extension auto-installer, then the add-on is installed in
firefox, meaning that messages will appear in the browser console.
... when you install an add-on into
firefox, the logging level will be "error" by default (that is, unless you have set one of the two preferences).
Add a Context Menu Item - Archive of obsolete content
to add items and submenus to the
firefox context menu, use the context-menu module.
...you should see the new item appear: click it, and the selection is logged to the console (or the shell, if you're running an instance of
firefox from the command line): info: elephantine lizard details all this add-on does is to construct a context menu item.
...log selection", context: contextmenu.selectioncontext(), contentscript: 'self.on("click", function () {' + ' var text = window.getselection().tostring();' + ' self.postmessage(text);' + '});', image: self.data.url("icon-16.png"), onmessage: function (selectiontext) { console.log(selectiontext); } }); adding an access key new in
firefox 35.
... from
firefox 35 you can specify an access key using the accesskey option.
JavaScript Debugger Service - Archive of obsolete content
obsolete since gecko 33 (
firefox 33 / thunderbird 33 / seamonkey 2.30) this feature is obsolete.
... in
firefox versions prior to gecko 33 (
firefox 33 / thunderbird 33 / seamonkey 2.30), the javascript debugger service (or simply jsd) used to be an xpcom component that allows the tracking of javascript while it was being executed in the browser.
... var jsd = components.classes["@mozilla.org/js/jsd/debugger-service;1"] .getservice(components.interfaces.jsdidebuggerservice); jsd.on(); // enables the service till
firefox 3.6, for 4.x use asyncon if (jsd.ison) jsd.off(); // disables the service hooks jsd operates using the events hook mechanism.
... jsd.clearfilters(); // clear the list of filters // we exclude the scripts with the following filenames from being tracked jsd.appendfilter(createfilter("*/
firefox/components/*")); jsd.appendfilter(createfilter("*/
firefox/modules/*")); jsd.appendfilter(createfilter("xstringbundle")); jsd.appendfilter(createfilter("chrome://*")); jsd.appendfilter(createfilter("x-jsd:ppbuffer*")); jsd.appendfilter(createfilter("xpcsafejsobjectwrapper.cpp")); jsd.appendfilter(createfilter("file://*")); note that appendfilter adds the filter to the end of the list.
Sidebar - Archive of obsolete content
this page provides several snippets demonstrating how to work with the
firefox sidebar.
... see the creating a
firefox sidebar tutorial for step-by-step instructions on creating a
firefox sidebar extension.
... opening and closing the sidebar
firefox provides a built-in sidebarui object function defined in browser-sidebar.js.
...the good practice to determine which sidebar is open at a time is by testing in location property, which is a chrome url: var sidebarwindow = document.getelementbyid("sidebar").contentwindow; if (sidebarwindow.location.href == "chrome://yourextension/content/whatever.xul") { // act on the sidebar content } for example to test if the web panel from
firefox is open: var sidebarwindow = document.getelementbyid("sidebar").contentwindow; if (sidebarwindow.location.href == "chrome://browser/content/web-panels.xul") { // act on the sidebar content only if it is the web panels } accessing the browser.xul window from a sidebar script see accessing the elements of the top-level document from a child window section of working with windows in chrome co...
Extension Etiquette - Archive of obsolete content
don't be redundant and include "extension," "mozilla/
firefox/thunderbird," or the version number in the name.
... ids
firefox/thunderbird 1.5 or later are much more strict about the ids of extensions than their 1.0 counterparts.
... options
firefox users like options.
... preferences' internal names internal
firefox preference names for extensions or to be clear, the name of the preference as it appears in the about:config, should start with "extensions.," then the name of the extension, with a dot, then the name of the preference.
Appendix: What you should know about open-source software licenses - Archive of obsolete content
this document was authored by yutaka kachi and was originally published in japanese for the
firefox developers conference summer 2007.
... the table below shows a few well-known software titles and their licenses license representative software titles modified bsd freebsd, netbsd, openbsd mpl
firefox, thunderbird (also triple-licensed mpl/lgpl/gpl) gpl linux kernel, gimp lgpl gtk+, openoffice.org modified bsd license this license permits free duplication, distribution, and modification provided that a copyright statement and liability disclaimer are included.
... the
firefox web browser, developed by the mozilla foundation, does not permit modifications of its name or trademarked icon.
... for this reason, the debian project, which distributes free software as a volunteer effort, has a browser based on
firefox, but with a different name and logo.
Appendix B: Install and Uninstall Scripts - Archive of obsolete content
keep in mind that the user could have set multiple
firefox windows to open at startup, so there's a race condition on which window will run the first run code.
...this can get tricky with the
firefox 4 addonmanager, so it's probably best to keep it simple.
...another argument in favor of keeping that data is that
firefox doesn't delete its profile folders after it is uninstalled, so it would be consistent to keep it.
...in this case the user is told that
firefox needs to restart in order for the extension to be completely removed.
Intercepting Page Loads - Archive of obsolete content
http notifications are fired for all http requests originating from
firefox.
...remember that your observe method will be called for every http request made by
firefox, usually several dozen per page visit.
...these require creating xpcom components that implement existing
firefox interfaces.
...shouldload is called for every load operation
firefox tries to do, including images, scripts and xul documents.
Observer Notifications - Archive of obsolete content
getservice(components.interfaces.nsiobserverservice); observerservice.addobserver(testobserver, "xulschoolhello-test-topic", false); you should come up with a notification topic that is unique so you know it will not conflict with
firefox or other extensions topics.
...if there are 2
firefox windows open, the observer will be notified in both and the alerts will show up on both.
... useful
firefox notifications we have covered sending and receiving custom notification topics using observers and the observer service.
... in
firefox, there are many built-in observer topics that you can observe as well.
The Box Model - Archive of obsolete content
the label element should be used mainly for text in xul forms, such as the ones you see in the
firefox options / preferences window.
... exercise use the dom inspector extension to look into the
firefox chrome.
... modify the hello world extension so that it changes the appearance of
firefox drastically using only css.
...however, it's very interesting and useful to see how you can manipulate the appearance of
firefox so easily.
Overlay extensions - Archive of obsolete content
prior to
firefox 4, and the gecko 2 engine that powers it, this was the only way to develop extensions.
... xul school xul school is a comprehensive add-on development tutorial, focusing on
firefox extension development but mostly applicable to other gecko-based applications.
...
firefox add-ons developer guide a guide to developing overlay extensions.
... binary
firefox extensions creating binary extensions for
firefox.
Performance best practices in extensions - Archive of obsolete content
one of
firefox's great advantages is its extreme extensibility.
...there is a down side to this: poorly written extensions can have a severe impact on the browsing experience, including on the overall performance of
firefox itself.
... this article offers some best practices and suggestions that can not only improve the performance and speed of your extension, but also of
firefox itself.
...the browser window is blocked while your add-on's load handler runs, so the more it does, the slower
firefox will appear to the user.
Structure of an installable bundle - Archive of obsolete content
additional resources (such as chrome:// or resource:// providers can be registered in the chrome.manifest) application-specific /searchplugins/*.src sherlock search plugins
firefox 1.5 and greater.
... /searchplugins/*.xml mozsearch and opensearch plugins
firefox 2 and greater /dictionaries/*.{aff|dic} myspell dictionaries
firefox 2 and greater of course, an extension need not (and normally won't) have all of these directories.
... platform-specific files gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) removed support for platform-specific subdirectories, described below.
...to facilitate the first case, the extension/app loader has special sub-directories specifically for platform-specific files (starting with toolkit/gecko 1.8,
firefox/thunderbird 1.5).
Drag and drop events - Archive of obsolete content
firefox 3 adds two new events that allow you to determine when drag operations begin and end.
... note: the drag and drop event support advertised in the
firefox 3 release notes is not the same as the events described in the drag and drop section of the html 5 working draft.
...
firefox 3 does not support the 'drag' event.
... this support is added in
firefox 3.5, and is documented separately on the page [drag and drop].
Syncing custom preferences - Archive of obsolete content
when preferences sync is enabled,
firefox sync will synchronize preferences between the same application based on a whitelist.
... that means preferences between
firefox and fennec, for instance, are never synced.
... to sync preferences between
firefoxes, fennecs, thunderbirds, etc., ensure the prefs are whitelisted.
... the whitelist is determined as follows: for each services.sync.prefs.sync.<pref> preference that is set to true,
firefox sync will sync the <pref> preference.
FAQ - Archive of obsolete content
prism is the codename for the project, and if the functionality provided by prism becomes a product or is integrated into other products (like
firefox), then it won't necessarily continue to be called by this codename.
...prism is built on top of the mozilla platform and its gecko rendering engine, just like mozilla
firefox, so it provides the same capabilities to web applications that
firefox provides, including support for html, javascript, css, and <canvas>.
... at the same time, we're also working to increase the capabilities of those apps by adding features to the web itself, like support for offline data storage and access to 3d graphics hardware, that will be available to web applications in both prism and
firefox.
...prism uses gecko, the same browser rendering system found in
firefox.
Venkman - Archive of obsolete content
it aims to provide a powerful javascript debugging environment for mozilla based browsers namely
firefox, netscape 7.x/9.x and seamonkey.
... getting venkman
firefox and thunderbird the latest version of javascript debugger is available from
firefox add-ons.
...also available from
firefox add-ons as an extension.
...we encourage you to use the latest available version 0.9.87.1 (or higher) with
firefox instead.
Window icons - Archive of obsolete content
note: this feature was removed at
firefox 67.
... starting with
firefox 1.5, thunderbird 1.5, and xulrunner 1.8, you can specify an icon for a xul window by putting files named mywindow.ico (for windows) and mywindow.xpm or mywindow16.xpm (linux), where mywindow is the id of the <window> you want to attach the icon to, in the chrome/icons/default subfolder of your bundle.
... starting with
firefox 3.0, xulrunner 3.0, thunderbird 3.0 and seamonkey 2.0 you can now specify png format icons instead of xpm format on linux.
... older versions to support older applications, such as
firefox 1.0, you need to copy the icons to app_dir/chrome/icons/default manually on the first start (example code).
XUL accessibility guidelines - Archive of obsolete content
the
firefox "bookmarks manager" provides an example of how to make trees more accessible.
...(
firefox's "print preview" window uses this fallback technique.) this should only be used as a last resort, and it should be consistent throughout a window (that is either all toolbar buttons are tabbable or none of them are).
...when creating an extension (for
firefox or another xul application), make sure the keyboard shortcuts you assign do not interfere with those already defined by the base application.
...for example, the first item in the privacy panel in the
firefox option dialog (discussed and shown above) is [checkbox] remember visited pages for the last [textbox] days.
browser - Archive of obsolete content
are you here looking for information about the
firefox web browser, or because you'd like to download the latest version of
firefox?
... get
firefox most of the properties and methods of the browser will rarely be used and can only be called from chrome urls.
... droppedlinkhandler(event, uri, name) --
firefox 51 or older droppedlinkhandler(event, links) --
firefox 52 or newer event -- drop event, or null if no event is available uri -- uri string of the dropped link name -- name string of the dropped link links -- array of the dropped items with nsidroppedlinkitem interface homepage type: url this attribute allows you to set a homepage for the browser element.
...the properties of the nsidocumentcharsetinfo object were merged into the docshell in gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9).
XULRunner 2.0 Release Notes - Archive of obsolete content
xulrunner 2.0.x is built from the same source code snapshot as
firefox 4.0.x.
... current version the current version of xulrunner 2.0 is 2.0, matching
firefox 4.0 detailed release notes can be found here.
... system requirements before installing, make sure your computer meets the system requirements (nb: that page will change for
firefox 4 shipping).
... the system requirements for xulrunner are the same as the system requirements for
firefox.
XULRunner FAQ - Archive of obsolete content
you can use xulrunner to make a browser (mybrowser example or
firefox), but there is no such thing as "the xulrunner browser".
... when will
firefox be based on xulrunner?
... there is no intention to do this for official release versions of
firefox.
... it is already possible to run
firefox on xulrunner now though and certain linux distributions already do this.
2006-11-10 - Archive of obsolete content
discussions
firefox: an open source accessibility success story aaron leventhal of ibm recently published a new article praising
firefox accessibility.
... the article goes into the history of accessibility in
firefox, details ibm's involvement and addresses some ajax accessibility concerns.
... the article closes with a glimpse at the future of
firefox accessibility.
... access keys in
firefox 2 previous versions of
firefox used the <alt> key as a modifier.
2006-10-06 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - september 30 - october 6, 2006 announcements vista compatibility lab mike schroepfer announced the current work being done testing mozilla products with vista.
... discussions
firefox trunk and rc1 slowdown using tabs discussion regarding certain theme components (specifically alpha-transparency) creating a high cpu load on os/2.
... title case capitalization rules in
firefox discussion regarding rules for capitalizing the first letter of
firefox menu items in the ff ui.
... places in
firefox 3 discussion regarding places (a new system for storing bookmarks, histroy and other page info) in
firefox 3.
2006-11-17 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - november 10, 2006 - november 17, 2006 announcements none this week.
...
firefox 2.0 - window.focus() user questions where the change in behaviour in window.focus() is a bug or was intented.
...
firefox 2.0 javascript popup issue user seeks advice about a line of javascript code that worked in
firefox 1.5.0.x, but not in
firefox 2.0 balloon help user inquires if anyone can explain how to disable the balloon help in
firefox 2.0.
... two questions: (1) launching a separate intance of
firefox.exe, and (2) programmatically closing a window user has two questions about using adobe flex builder debugger in
firefox 2.0.
2006-10-27 - Archive of obsolete content
summary: mozilla.dev.quality - october 20-october 27, 2006 announcements
firefox & thunderbird 1.5.0.8 candidate builds available for testing!
... - with
firefox 2.0 out the door, it's time to make sure that all 1.5.0.x users are updated with the latest and greatest in stability and security fixes!
... update welcome page - a bug has been discovered when updating to
firefox 2.0.
... when the special homepage comes up after updating
firefox, the "go to your homepage" button doesn't work when multipliable tabs are set as homepage.
External resources for plugin creation - Archive of obsolete content
plugins created with firebreath work on all major browsers, including
firefox 3.0 and later.
...project: nixysa project home page description (from the home page): nixysa is a framework written in python to automatically generate glue code for npapi plugins (plugins for browsers such as google chrome or
firefox), letting you easily expose c++ classes to javascript from a simple idl representation.
...project: qtbrowserplugin project home page description (from the home page): the qtbrowserplugin solution makes it easy to write browser plugins that can be used in mozilla
firefox, safari, opera, google chrome, qtwebkit and any other web browser that supports the "netscape plugin api", npapi articles, information, and tutorials npapi has been around a very long time, and there have been many attempts to distill down useful information on creating them: colonelpanic.net building a
firefox plugin - part one: discusses the difference between npapi and npruntime and summari...
...zes the basic apis needed to create a plugin building a
firefox plugin - part two: discusses the basic lifecycle of a npapi plugin building a
firefox plugin - part three: discusses npobjects and how to use them memory management in npapi: discusses how memory is managed in a npapi plugin browser plugins vs extensions (add-ons) -- the difference: discusses the oft-misunderstood difference between a plugin and an extension wikipedia npapi: history and general information about npapi plugins and extensions: the general difference between them boom swagger boom writing an npapi plugin for mac os x ...
Making sure your theme works with RTL locales - Archive of obsolete content
of the languages
firefox and thunderbird are shipped in, that includes arabic and hebrew, with persian available as beta, for a total population in excess of 100 million potential users.
... a screenshot of
firefox 2 in hebrew what you need to do at this stage you might ask yourself, "how would i know what language is my theme installed on?
... gecko 1.9.1 (
firefox 3.5) and earlier the chromedir attribute
firefox, thunderbird and seamonkey expose an attribute named chromedir on certain elements.
...the force rtl extension enables you to switch the interface of
firefox from ltr to rtl and the other way around dynamically by toggling a menu item.
Displaying notifications (deprecated) - Archive of obsolete content
this non standard api has been dropped in
firefox 22 in favor of the standard api.
... to see how to use the standard api, please read: using web notifications mobile only in gecko 2.0 available only in
firefox mobile as of gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)
firefox offers support for "desktop notifications"; these are notifications that are displayed to the user outside the context of the web content, using the standard notification system provided by the operating system.
... creating a notification the first thing you need to do is create the notification object by using the navigator.moznotification object's createnotification() method, as follows: var notification = navigator.moznotification.createnotification( "hey, check this out!", "this is a notification posted by " + "
firefox 4.
...hild(e); }; displaying the notification once the notification is configured the way you want it to be, call its show() method to display the notification: notification.show(); on android, for example, the resulting notification panel looks like this: when the user taps on the "hey, check this out!" notification here, the resulting changes to the document look like this: if you're using
firefox mobile, you can see this example live by tapping the button below.
ECMAScript 2016 to ES.Next support in Mozilla - Archive of obsolete content
below is a list of features in es2016+ and what version of
firefox they were implemented in.
... ecmascript 2016 array.prototype.includes() (
firefox 43) typedarray.prototype.includes() (
firefox 43) exponentiation operator (
firefox 52) ecmascript 2017 object.values() (
firefox 47) object.entries() (
firefox 47) string.prototype.padstart() (
firefox 48) string.prototype.padend() (
firefox 48) object.getownpropertydescriptors() (
firefox 50) async functions async function (
firefox 52) async function expression (
firefox 52) asyncfunction (
firefox 52) await (
firefox 52) trailing commas in function parameter lists (
firefox 52) ecmascript 2018 spread in object literals and rest parameters (
firefox 55) for await...of (
firefox 57) global_objects/sharedarraybuffer (
firefox 57, with flags) global_objects/promise/finally (
firefox 58) global_objects/regexp/dotall...
... (not yet implemented; in other browsers) regexp lookbehind assertions (not yet implemented; in other browsers) regexp unicode property escapes (not yet implemented; in other browsers) regexp named capture groups (not yet implemented; in other browsers) ecmascript 2019 array.flat() (
firefox 62) array.flatmap() (
firefox 62) object.fromentries() (
firefox 63) string.trimstart() and string.trimend() (
firefox 61) optional catch binding (
firefox 58) function.tostring() revision (
firefox 54) symbol.description (
firefox 63) well-formed json.stringify() (
firefox 64) ecmascript 2020 this is the current es.next version.
...(may 2019) the following features are already implemented, but only available in the
firefox nightly channel and not yet included in a draft edition of an ecmascript specification.
ECMAScript 5 support in Mozilla - Archive of obsolete content
the javascript runtime used in the latest versions of mozilla projects including both
firefox and thunderbird has full support for ecmascript 5.1 features.
... supported features added in javascript 1.8.5 (gecko 2,
firefox 4 and later)
firefox 4 has full ecmascript 5 support including the object.* methods and strict mode.
... added in javascript 1.8.1 (gecko 1.9.1,
firefox 3.5) native json support object.getprototypeof() method.
... added in javascript 1.6 (gecko 1.8,
firefox 1.5) new array methods offering several improved methods for manipulating arrays -- have been part of javascript since javascript 1.6.
Archived JavaScript Reference - Archive of obsolete content
however, it has been removed from the standard and the
firefox implementation.
...it has been removed from
firefox starting with version 58.generator comprehensionsthe generator comprehension syntax was a javascript expression which allowed you to quickly assemble a new generator function based on an existing iterable object.
... however, it has been removed from the standard and the
firefox implementation.
...least one yield expression.microsoft javascript extensionsmicrosoft browsers (internet explorer, and in a few cases, microsoft edge) support a number of special microsoft extensions to the otherwise standard javascript apis.new in javascriptthis chapter contains information about javascript's version history and implementation status for mozilla/spidermonkey-based javascript applications, such as
firefox.number.tointeger()the number.tointeger() method used to evaluate the passed value and convert it to an integer, but its implementation has been removed.object.getnotifier()the object.getnotifer() method was used to create an object that allows to synthetically trigger a change, but has been deprecated and removed in browsers.object.observe()the object.observe() method was used for asynchronously ...
Archived open Web documentation - Archive of obsolete content
browser feature detection an experimental approach to discovering degree of support for standards css obsolete css features displaying notifications (deprecated)
firefox offers support for "desktop notifications"; these are notifications that are displayed to the user outside the context of the web content, using the standard notification system provided by the operating system.
...to ensure that your code executes in parallel, it is suggested that the functions should be limited to the parallelizable subset of js that
firefox supports.
... styling the amazing netscape fish cam page using javascript generators in
firefox generators can be used to simplify asynchronous code in
firefox by opting in to using javascript version 1.7 or later.
... you can opt in in html as follows: window.importdialog() because opening windows on mobile isn't necessarily appropriate, the
firefox mobile team designed the importdialog() method to replace window.opendialog().
Archive of obsolete content
creating a status bar extension many of the concepts introduced here apply to any xul-based application; however, to keep from getting completely overwhelmed, we're going to focus specifically on
firefox.
... element events archived event pages
firefox developer tools these are articles related to the
firefox developer tools, which are no longer current.
...starting with
firefox 2, a sax parser is available to xul applications and extensions.
...we'll build upon the stock watcher extension created in earlier articles in this series, updating it so it can also be used in thunderbird and sunbird (previous versions worked only in
firefox).
Index - Game development
4 index meta found 74 pages: 5 introduction to html5 game development (summary)
firefox os, games, html5, mobile games built with html5 work on smartphones, tablets, pcs and smart tvs.update your game whenever you want.players can play the game anywhere, anytime.
... 6 introduction to game development for the web
firefox os, games, guide, mobile no summary!
...in gecko, async compilation allows the javascript engine to compile the asm.js off the main thread when the game is loading and cache the generated machine code so that the game doesn't need to be compiled on subsequent loads (starting in
firefox 28).
...you can play the full version of the hungry fridge game directly in your browser, install it from the
firefox marketplace or check the source code of the demo along with all the other resources on the gamepad api content kit.
Gecko FAQ - Gecko Redirect 1
gecko is used in multiple browsers, including mozilla
firefox, seamonkey, and others.
...however, gecko does not package all of these components alongside other interface modules in a coherent, user-friendly application (including menus, toolbars, etc.), such as
firefox.
... mozilla.org assembles the necessary components into its applications, such as
firefox, thunderbird, seamonkey, which are available for free download from mozilla.org.
... gecko lies at the heart of mozilla and
firefox browsers, as well as others, powering all of the individual components.
Debugging CSS - Learn web development
for example in
firefox there are some excellent tools for working visually with css layout, allowing you to inspect and edit grid layouts, flexbox, and shapes.
... in this lesson we will look at some useful features of the
firefox devtools for working with css.
... the following video provides some useful tips on debugging css using the
firefox devtools: editing values in addition to turning properties on and off, you can edit their values.
... find out more about the
firefox devtools there is a lot of information about the
firefox devtools here on mdn.
Advanced form styling - Learn web development
newer implementations are more consistent in behavior; interestingly enough, both chromium-based browsers (chrome, opera, edge), safari, and
firefox all support the -webkit- prefixed version (-webkit-appearance).
...
firefox settled on this because web developers mostly seemed to be using the -webkit- prefixed version, so it was better for compatibility.
... for example, consider this simple test case: <span><input type="checkbox"></span> span { display: inline-block; background: red; } input[type="checkbox"] { width: 100px; height: 100px; } different browsers handle this in many different, often ugly ways: browser rendering
firefox 71 (macos)
firefox 57 (windows 10) chrome 77 (macos), safari 13, opera chrome 63 (windows 10) internet explorer 11 (windows 10) edge 16 (windows 10) using appearence: none on radios/checkboxes as we showed before, you can remove the default appearance of a checkbox or radio button altogether with appearance:none; let's t...
...for example,
firefox will apply color and background-color when set on the <option> elements, chrome won't.
HTML basics - Learn web development
take the <img> element that we already have in our html page: <img src="images/
firefox-icon.png" alt="my test image"> this contains two attributes, but there is no closing </img> tag and no inner content.
...let's revisit the code we put into our index.html example (which we first met in the dealing with files article): <!doctype html> <html> <head> <meta charset="utf-8"> <title>my test page</title> </head> <body> <img src="images/
firefox-icon.png" alt="my test image"> </body> </html> here, we have the following: <!doctype html> — the doctype.
... images let's turn our attention to the <img> element again: <img src="images/
firefox-icon.png" alt="my test image"> as we said before, it embeds an image into our page in the position it appears.
...a much better alternative for our
firefox logo would be "the
firefox logo: a flaming fox surrounding the earth." try coming up with some better alt text for your image now.
Installing basic software - Learn web development
currently, the most-used browsers are
firefox, chrome, opera, safari, internet explorer and microsoft edge.
...choose your operating system below and click the relevant links to download installers for your favorite browsers: linux:
firefox, chrome, opera, brave.
... windows:
firefox, chrome, opera, internet explorer, microsoft edge, brave (windows 10 comes with edge by default; if you have windows 7 or above, you can install internet explorer 11; otherwise, you should install an alternative browser).
... macos:
firefox, chrome, opera, safari, brave (macos and ios come with safari by default).
Drawing graphics - Learn web development
in this case you'll also need to save a copy of our sample image —
firefox.png — in the same directory.
...add the following lines to the bottom of your javascript: let image = new image(); image.src = '
firefox.png'; here we create a new htmlimageelement object using the image() constructor.
...we then set its src attribute to equal our
firefox logo image.
...to display each sprite cleanly we will have to use drawimage() to chop out a single sprite image from the spritesheet and display only that part, like we did above with the
firefox logo.
Handling common accessibility problems - Learn web development
you could do this manually by just removing the css from your code, but the easiest way is to use browser features, for example:
firefox: select view > page style > no style from the main menu.
...most modern browsers follow the tab pattern described above (you can also do shift + tab to move backwards through the focusable elements), but some browsers have their own idiosyncracies:
firefox for the mac doesn't do tabbing by default.
...its most immediately useful form is probably the browser extensions: axe for chrome axe for
firefox these add an accessibility tab to the browser developer tools.
... for example, we installed the
firefox version, then used it to audit our bad-table.html example.
Information for users
firefox 2 now has help topics (from the menubar: ?
...
firefox accessibility features this page defines most of the accessibility features possible in
firefox.
... features include assistive technology support on windows (like window-eyes, jaws, etc.),
firefox keyboard support, available accessibility extensions like fire vox and other extensions.
...
firefox accessibility skins and themes at the excellent access
firefox website, you will find many valuable resources, including a list of
firefox themes that have been specially designed for those with low vision: themes with high color constrast themes with big icons themes with extra large and bright icons themes with extra large and extra bold text join the mozilla accessibil...
Benchmarking
add the following to your mozconfig in order to build with level 2: ac_add_options rustc_opt_level=2 gc poisoning many
firefox builds have a diagnostic tool that causes crashes to happen sooner and produce much more actionable information, but also slow down regular usage substantially.
... async stacks async stacks no longer impact performance since
firefox 78, as bug 1601179 limits async stack capturing to when devtools is opened.
... flash plugin if you are profiling real websites, you should disable the adobe flash plugin so you are testing
firefox code and not flash jank problems.
... timer precision
firefox reduces the precision of the performance apis and other clock and timer apis accessible to web content.
Creating Custom Events That Can Pass Data
for example, if you want
firefox to perform an action whenever something happens (i.e., something other than the standard mouse/keyboard events) and, depending on the data passed along with this event, you want
firefox to react differently.
... note that starting with version 6,
firefox supports dom level 3 customevent, which lets you dispatch custom events with arbitrary data from javascript.
... (see bug 427537) requirements in order to do this you must be able to do all of the following: download mozilla source code build mozilla creating custom
firefox extensions with the mozilla build system.
...be aware that this means your stuff won't work with everyone else's version of
firefox unless you get your patches into the trunk.
Eclipse CDT
in the window that opens enter the path to your
firefox binary (something like {your-obj-dir}/dist/nightlydebug.app/contents/macos/
firefox) and select "disable auto build".
... select the arguments tab and enter any args you want to pass to
firefox (such as "--no-remote -p my-testing-profile").
...isn't library_path for compile time, not runtime, linking?) in the workspace preferences, you may want to go to "c/c++ > debug > gdb" and deselect "stop on startup at", so that eclipse won't automatically break in main() when it launches
firefox for debugging.
... gdb unexpectedly detaching if gdb starts ignoring your breakpoints, or unexpectedly terminates or detaches from the
firefox process, this may be caused by out of date breakpoints (breakpoints that you set during a previous debug session, after which you've since rebuilt).
Interface Compatibility
documented apis which are shipped as part of the jetpack sdk are designed to work in future versions of
firefox.
...with the power, however, comes the understanding that the mozilla platform is constantly changing and many apis may change in future versions of
firefox.
...using these interfaces, and using dynamic calls to queryinterface, it has been possible to write binary xpcom components which were compatible with multiple versions of
firefox.
... beginning with mozilla 2 (
firefox 4), this will no longer be supported: all @status markings have been removed, and extensions that use binary components will need to recompile for each major version they wish to support.
Runtime Directories
default application installation and user profile directories
firefox os application directory user profile directory temporary directory windows vista/7 c:\program files\mozilla
firefox\ c:\users\<username>\appdata\roaming\mozilla\
firefox\ (or %appdata%\mozilla\
firefox\) c:\users\<username>\appdata\local\mozilla\
firefox\ (or %localappdata%\mozilla\
firefox) and c:\users\<username>\appdata\local\virtualstore\program files\mozilla
firefox\ windows 2000/xp c:\program files\mozilla
firefox\ c:\documents and settings\<username>\application data\mozilla\
firefox\ (or %appdata%\mozilla\
firefox\) c:\documents and settings\<username>\local settings\application data\mozilla\
firefox\ os x /applications/
firefox.app ~/...
...library/application support/
firefox/profiles/xxxxxxxx.default/ ~/library/caches/
firefox/profiles/xxxxxxxx.default/ linux ????
... ~/.mozilla/
firefox/xxxxxxxx.default/ n/d thunderbird os application directory user profile directory temporary directory windows vista/7 c:\program files\mozilla thunderbird\ c:\users\<username>\appdata\roaming\thunderbird\ (or %appdata%\thunderbird\) c:\users\<username>\appdata\local\thunderbird\ (or %localappdata%\thunderbird\) and c:\users\<username>\appdata\local\virtualstore\program files\mozilla thunderbird\ windows 2000/xp c:\program files\mozilla thunderbird\ c:\documents and settings\<username>\application data\thunderbird\ (or %appdata%\thunderbird\) c:\documents and settings\<username>\local settings\application data\thunderbird\ os x /applications/thunderbird.app ~/library/thunderbird/pro...
... ~/.thunderbird/xxxxxxxx.default/ (or ~/.mozilla-thunderbird/xxxxxxxx.default/ on debian/ubuntu) n/d see also https://support.mozilla.org/kb/profiles-where-
firefox-stores-user-data#w_how-do-i-find-my-profile https://support.mozilla.org/kb/profiles-tb#w_where-is-my-profile-stored http://kb.mozillazine.org/profile_folder ...
Using the Browser API
it was originally used in
firefox os to implement browser applications before that project was cancelled; since
firefox 47 it is available to desktop chrome code and used in places like the
firefox devtools.
...you'll also notice that we're also firing these functions on the touchend event, which is effective as
firefox os devices are generally touchscreen.
...when you tap the url bar, you can enter a url using the built-in
firefox os keyboard (although note that we haven't implemented anything sophisticated in this app, like autofilling the http://, etc.).
...try searching for "
firefox" on the default page when the app first loads.
Gecko versions and application versions
note that after gecko 2.0, both
firefox and thunderbird versions are from then on the same as the gecko version number, at gecko 5.0.
... gecko version applications based on it gecko 55
firefox 55, seamonkey 2.52 gecko 52
firefox 52, seamonkey 2.49 gecko 49
firefox 49, seamonkey 2.46 gecko 43
firefox 43, seamonkey 2.40 gecko 42
firefox 42, seamonkey 2.39 gecko 41
firefox 41, seamonkey 2.38 gecko 38
firefox 38, seamonkey 2.35 gecko 36
firefox 36, seamonkey 2.33 gecko 35
firefox 35, seamonkey 2.32 gecko 34
firefox 34, seamonkey 2.31 gecko 33
firefox 33, seamonkey 2.30 gecko 32
firefox 32, seamonkey 2.29 gecko 29
firefox 29, seamonkey 2.26 gecko 28
firefox 28, seamonkey 2.25 gecko 27
firefox 27, seamonkey 2.24 gecko 26
firefox 26, s...
...eamonkey 2.23 gecko 25
firefox 25, seamonkey 2.22 gecko 24
firefox 24, thunderbird 24, seamonkey 2.21 gecko 23
firefox 23, seamonkey 2.20 gecko 22
firefox 22, seamonkey 2.19 gecko 21
firefox 21, seamonkey 2.18 gecko 20
firefox 20, seamonkey 2.17 gecko 19
firefox 19, seamonkey 2.16 gecko 18
firefox 18,
firefox os 1.0, seamonkey 2.15 gecko 17
firefox 17, thunderbird 17, seamonkey 2.14 gecko 16
firefox 16, thunderbird 16, seamonkey 2.13 gecko 15
firefox 15, thunderbird 15, seamonkey 2.12 gecko 14
firefox 14, thunderbird 14, seamonkey 2.11 gecko 13
firefox 13, thunderbird 13, seamonkey 2.10 gecko 12
firefox 12, thunderbird 12, seamonke...
...y 2.9 gecko 11
firefox 11, thunderbird 11, seamonkey 2.8 gecko 10
firefox 10, thunderbird 10, seamonkey 2.7 gecko 9
firefox 9, thunderbird 9, seamonkey 2.6 gecko 8
firefox 8, thunderbird 8, seamonkey 2.5 gecko 7
firefox 7, thunderbird 7, seamonkey 2.4 gecko 6
firefox 6, thunderbird 6, seamonkey 2.3 gecko 5
firefox 5, thunderbird 5, seamonkey 2.2 gecko 2
firefox 4, thunderbird 3.3, seamonkey 2.1 gecko 1.9.2
firefox 3.6, thunderbird 3.1 gecko 1.9.1
firefox 3.5, thunderbird 3, seamonkey 2.0 gecko 1.9
firefox 3 gecko 1.8.1
firefox 2, thunderbird 2, seamonkey 1.1 gecko 1.8
firefox 1.5, thunderbird 1.5, seamonkey 1.0 gecko 1.7
firefox 1.
How to investigate Disconnect failures
an example of such a failure disconnect failures happens when one side is closing the connection and mozmill is unable to send the information over the bridge or when
firefox crashes.
... usually disconnects happens when a modal dialog freezes and we cannot close it sp we close
firefox with the modal frozen.
... check if
firefox crashed: windows: [user]/appdata\roaming\mozilla\
firefox\crash reports ubuntu: [user/home]/.mozilla/
firefox/crash reports and there we can check by timestamp if
firefox crashed when we had the disconnect.
... under about:crashes we have links to all the crashes submitted by
firefox to crash-stats.
Translation phase
these are the mozilla application projects that are localized using the l10n tools above:
firefox the award-winning
firefox® web browser has security, speed and new features that will change the way you use the web.
... see the list of the most critical strings for localizing in
firefox, as well as a guide to understanding how they're organized.
...
firefox mobile by adding
firefox® to your mobile phone, you can access rich web content and enjoy your favorite
firefox features wherever you go.
... hacks.mozilla.org for everyone interested in the leading-edge stuff that people are doing with mozilla
firefox and the open web.
What every Mozilla translator should know
some branch/release names identified: mozilla source + en-us localization files for [ab-cd] locale corresponding
firefox version branches in hg mozilla-central l10n-central
firefox.next (trunk) mozilla-1.9.2 l10n-mozilla-1.9.2
firefox 3.6 mozilla-1.9.1 l10n-mozilla-1.9.1
firefox 3.5 and, on the former revision control system, cvs: cvs trunk (the default branch) ->
firefox/thunderbird 3.0.x branch mozilla_1_8_branch ->
firefox/thunderbird 2.0 branch mozi...
... bugzilla, the bug-tracking system you do need an account in bugzilla you should configure the account to watch the following addresses:
firefoxl10n@hotmail.com calendar-l10n@mozilla.bugs (specific for calendar related bugs) this way you will receive mail for bugs affecting many or even all locales.
...specify the branch (1.9.2 for
firefox 3.6, 1.9.2.1 for
firefox 3.6.1, ...) attach the diff file to the bug: content type: patch mark the approval1.9.xxx with ?
...in this case the resultant installable file will be available in the mozilla ftp servers:
firefox nightly builds thunderbird nightly builds qa (quality assurance) in order to assure the quality of a build we should make some tests using http://litmus.mozilla.org ...
Profiling with Xperf
the standard symbol path that includes both mozilla's and microsoft's symbol server configuration is as follows: _nt_symcache_path: c:\symbols _nt_symbol_path: srv*c:\symbols*http://msdl.microsoft.com/download/symbols;srv*c:\symbols*http://symbols.mozilla.org/
firefox/ to add symbols from your own builds, add c:\path\to\objdir\dist\bin to _nt_symbol_path.
...
firefox generates lots of events, so you may want to play with the buffersize/minbuffers/maxbuffers options as well to ensure that you don't get dropped events.
...to start a trace session, launching a new
firefox instance: xperf -on base xperf -start heapsession -heap -pidnewprocess "./
firefox.exe -p test -no-remote" -stackwalk heapalloc+heaprealloc -buffersize 512 -minbuffers 128 -maxbuffers 512 to stop a session and merge the resulting files: xperf -stop heapsession -d heap.etl xperf -d main.etl xperf -merge main.etl heap.etl result.etl "result.etl" will contain your merged data; you can delete main.etl and heap.etl.
... building
firefox to get good data from a
firefox build, it is important to build with the following options in your mozconfig: export cflags="-oy-" export cxxflags="-oy-" this disables frame-pointer optimization which lets xperf do a much better job unwinding the stack.
PKCS11 FAQ
what are "generic crypto svcs" (the first item listed when you click the view/edit button for the nss internal pkcs #11 module under security devices under options/security in
firefox)?
... if i have my smart card which has initial pin set at '9999', i insert it into my reader and download with my certificate (keygen completed), can i issue 'change password' from the
firefox to set a new pin to the smart card?
... why does
firefox require users to authenticate themselves by entering a pin at the keyboard?
...there is an outstanding bug in
firefox to implement this support.
Shumway
it is currently available as an extension and as a component in
firefox's nightly builds that can be enabled through about:config (you need to find the shumway.disabled preference and set it to false).
... it is expected to be included in
firefox at some point to allow plugin-free compatibility with swf-based games and animations.
...the simple method is to install the shumway extension (or run a browser version with shumway included and enabled) and browse to your flash content with adobe flash player set "ask to activate" or "never activate" in
firefox's add-ons menu (this will be listed as "shockwave flash" under the plugins tab).
... bugzilla is intended for problems with integrating shumway into
firefox.
SpiderMonkey Internals
both guest-star in jsinterp.cpp (to thunderous applause from
firefox users).
...a second tier jit, code-named ionmonkey was enabled in
firefox 18.
... self-hosting of built-in functions in js starting with
firefox 17, spidermonkey has the ability to implement built-in functions in self-hosted js code.
...if you're building gecko or
firefox, the larger build system will use these files.
JSAPI reference
a note on versioning: up until the release of
firefox 4, spidermonkey, and thus the jsapi, was versioned in an ad-hoc way, with releases happening at times that roughly, but not really, corresponded to
firefox releases.
... in the fall of 2012, the spidermonkey team decided to align releases with those of
firefox.
... the reference applies this versioning scheme retroactively starting with
firefox 5.
...
firefox 4 is the last release that has a corresponding spidermonkey release with the old scheme, where the jsapi has the version 1.8.5.
A Web PKI x509 certificate primer
self-sign csr (using sha256) and append the extensions described in the file "openssl x509 -req -sha256 -days 3650 -in example.csr -signkey key.pem -set_serial $any_integer -extfile openssl.ss.cnf -out example.pem" you can now use example.pem as your certfile cas included in
firefox when you visit a secure website,
firefox will validate the website’s certificate by checking that the certificate that signed it is valid, and checking that the certificate that signed the parent certificate is valid and so forth up to a root certificate that is known to be valid.
...
firefox uses a default set of x.509v3 root certificates for various certification authorities (cas).
... error codes in
firefox here are some common errors that might be encountered when working with certificates in
firefox.
...d sec_error_unknown_critical_extension a certificate contains an extension marked as critical that is not handled by mozilla::pkix re-generate the certificate without the extension or with it not marked as critical sec_error_unknown_issuer either a missing intermediate or root certificate is necessary to verify the certificate import the root certificate into
firefox or have the server send the intermediate sec_error_invalid_key sec_error_unsupported_keyalg sec_error_expired_issuer_certificate an issuer certificate is too old re-issue the issuer certificate mozilla_pkix_error_ca_cert_used_as_end_entity a certificate with a basic constraints extension with ca:true is being used as an end-entity certi...
XPCOM changes in Gecko 2.0
const nsgetfactory = xpcomutils.generatensgetfactory([mycomponent]); a component may implement backwards compatibility with gecko 1.9.2 by dynamically detecting which symbols are exported by xpcomutils.jsm and exporting the correct function: /** * xpcomutils.generatensgetfactory was introduced in mozilla 2 (
firefox 4, seamonkey 2.1).
... * xpcomutils.generatensgetmodule was introduced in mozilla 1.9 (
firefox 3.0).
...note: binary xpcom components must be recompiled for every new major release of
firefox starting with
firefox 4.
...on top of that, with the ongoing work to make
firefox multithreaded, content processes either need to register components on a per-process basis, or somehow share a component cache with the chrome process.
Setting up the Gecko SDK
i used a different
firefox profile for testing purposes called extensions.
...%applicationdata%\mozilla\
firefox\profiles\x.extensions\extensions\bob@george.com.
... then copy the .xpt file to the c:\program files (x86)\mozilla
firefox\components directory.
... next run the regxpcom to registister the component in
firefox (this writes to the complist.dat file in your profile) regxpcom -x "c:\program files (x86)\mozilla
firefox\" -c "c:\users\<user>\appdata\roaming\mozilla\
firefox\profiles\<profile>\compreg.dat" -d "c:\users\<user>\appdata\roaming\mozilla\
firefox\profiles\<profile>\xpti.dat" "c:\users\<user>\appdata\roaming\mozilla\
firefox\profiles\<profile>\extensions\bob@george.com\cspecialthing.dll" now if you start up
firefox using that profile, you should have your new component installed.
Components.utils.Sandbox
for example the content principal above can be made expanded/extended like so: var principal = [gbrowser.selectedtab.linkedbrowser.contentprincipal]; // this is now an expanded (aka extended) principal var sandbox = components.utils.sandbox(principal); null principal you can create a null principal using code like: cc["@mozilla.org/nullprincipal;1"].createinstance(ci.nsiprincipal); from
firefox 37 onwards, you can also specify the null principal by simply passing null as the principal argument.
...as of gecko 13 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10), if you don't specify a sandbox name it will default to the caller's filename.
...note that "-promise" is removed in
firefox 37.
... the following objects are supported: -promise (removed in
firefox 37) css indexeddb (web worker only) xmlhttprequest textencoder textdecoder url urlsearchparams atob btoa blob file crypto rtcidentityprovider fetch (added in
firefox 41) caches filereader for example: var sandboxscript = 'var encoded = btoa("hello");' + 'var decoded = atob(encoded);'; var options = { "wantglobalproperties": ["atob", "btoa"] } var sandbox = components.utils.sandbox("https://example.org/", options); components.utils.evalinsandbox(sandboxscript, sandbox); console.l...
Language bindings
this is the global object in place at the time the object was created, which is to say the global object used when executing the script that created the object.components.utils.getweakreferencethis method was introduced in
firefox 3 and is used for obtaining a weak reference for an object.
... to obtain the object reference, you have to call get() on the resulting object.components.utils.importcomponents.utils.import was introduced in
firefox 3 and is used for sharing code between different scopes easily.
...this method calls through to that thusly:components.utils.unloadcomponents.utils.unload was introduced in
firefox 7 and is used to unload javascript code modules.
...xpconnect is part of
firefox and is actively used in xul applications.
nsICacheService
66 introduced gecko 1.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface is no longer supported and planned to be removed soon: use nsicachestorageservice instead.
... createtemporaryclientid() obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0)this feature is obsolete.
... init() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) initialize the cache service.
... exceptions thrown missing exception missing description shutdown() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) shutdown() the cache service.
nsIDOMWindowInternal
66 introduced gecko 1.0 deprecated gecko 8.0 inherits from: nsidomwindow last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) in gecko 8.0 this interface was merged into the nsidomwindow interface.
... method overview
firefox 3.5 note the prompt() and find() methods changed in
firefox 3.5 to make all their parameters optional; in previous versions, all parameters were required.
... pkcs11 nsidompkcs11 obsolete: this property is not supported in newer versions of
firefox.
... note: prior to gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4), this attribute was part of nsidomwindow_2_0_branch.
getFile
ns_xpcom_component_dir "comsd" ns_xpcom_component_dir_list "comsdl" ns_xpcom_component_registry_file "comregf" ns_xpcom_xpti_registry_file "xptiregf" ns_xpcom_library_file "xpcomlib" ns_gre_dir "gred" note: on mac os x, up through
firefox 34 this is the contents/macos directory within the application's bundle.
... starting with
firefox 35, this is contents/resources.
... this change was required in order to comply with apple's new gatekeeper v2 rules; without this change,
firefox would not work on any mac os x newer than 10.9.4.
... "cmprgs" ns_win_common_startup_dir "cmstrt" ns_win_common_desktop_directory "cmdeskp" ns_win_appdata_dir "appdata" ns_win_local_appdata_dir "localappdata" ns_win_printhood "prnthd" ns_win_cookies_dir "cookd" available on unix only these locations are supported only on unix builds of
firefox os.
nsIEditorSpellCheck
inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) implemented by: @mozilla.org/editor/editorspellchecker;1.
... savedefaultdictionary() obsolete since gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6)this feature is obsolete.
... note: this method was removed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6).
...remarks prior to gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), this method took one parameter, a reference to the nsieditor for which to update the spell checker.
nsIPlacesImportExportService
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) in the past, this interface also offered methods for importing places data, but those methods are now part of the bookmarkhtmlutils.jsm javascript code module.
... importhtmlfromfile() obsolete since gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) note: this method has been removed; use the bookmarkhtmlutils.jsm javascript code module instead.
... importhtmlfromfiletofolder() obsolete since gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) note: this method has been removed; use the bookmarkhtmlutils.jsm javascript code module instead.loads the given bookmarks.html file and puts it in the given folder.
... importhtmlfromuri() obsolete since gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11)this feature is obsolete.
Component; nsIPrefBranch
inherits from: nsisupports last changed in gecko 58 (
firefox 58 / thunderbird 58 / seamonkey 2.55) this object is created with a "root" value which describes the base point in the preferences "tree" from which this "branch" stems.
... getstringpref() requires gecko 58 (
firefox 58 / thunderbird 58 / seamonkey 2.55) called to get the state of an individual utf-8 string preference.
... note: as of
firefox 3.0, this function has not yet been implemented.
... setstringpref() requires gecko 58 (
firefox 58 / thunderbird 58 / seamonkey 2.55) called to set the state of an individual utf-8 string preference.
nsIProcess
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/process/util;1.
... initwithpid() obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) initializes the nsiprocess to represent an existing process, given that process's id.
... gecko 1.9.1 note prior to gecko 1.9.1 (
firefox 3.5), this method did not work on windows or mac os x.
... gecko 1.9.1 note prior to gecko 1.9.1 (
firefox 3.5), this method returned the process id of the newly executing process.
nsIProtocolHandler
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean allowport(in long port, in string scheme); nsichannel newchannel(in nsiuri auri); nsiuri newuri(in autf8string aspec, in string aorigincharset, in nsiuri abaseuri); attributes attribute type description defaultport long the default port is the port the protocol uses by default.
... note: starting with
firefox 3, one of uri_loadable_by_anyone, uri_dangerous_to_load, uri_is_ui_resource, or uri_is_local_file must be set on every protocol handler.
... current versions of
firefox assume that the uri has uri_loadable_by_anyone set, but this will not work starting with the mozilla 2 platform.
... see also nsiproxiedprotocolhandler adding a new protocol to mozilla writing a
firefox protocol handler custom about: urls - similar to adding new protocol but adding onto the existing about: protocol ...
nsITreeView
inherits from: nsisupports last changed in gecko 22 (
firefox 22 / thunderbird 22 / seamonkey 2.19) implementing a nsitreeview in lieu of dom methods for tree creation can improve performance dramatically, and removes the need to make changes to the tree manually when changes to the database occur.
... candropbeforeafter() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method used by the drag feedback code to determine if a drag is allowable at the current location.
... candropon() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method used by the drag feedback code to determine if a drag is allowable at the current location.
...for example: getrowproperties: function(index) { return "dummy"; } obsolete since gecko 22 (
firefox 22 / thunderbird 22 / seamonkey 2.19)this feature is obsolete.
nsIWebBrowserPersist
inherits from: nsicancelable last changed in gecko 36.0 (
firefox 36.0 / thunderbird 36.0 / seamonkey 2.33) implemented by: @mozilla.org/embedding/browser/nswebbrowser;1 and @mozilla.org/embedding/browser/nswebbrowserpersist;1.
... saveuri() as of
firefox 26, this method should no longer be used from add-on code.
... as of
firefox 36, a new parameter areferrerpolicy was added as the fourth argument, changing the number of parameters from 7 to 8 and shifting the order of the parameters in a backwards incompatible way.
...cycontext = sourcewindow.queryinterface(components.interfaces.nsiinterfacerequestor) .getinterface(components.interfaces.nsiwebnavigation) .queryinterface(components.interfaces.nsiloadcontext); //save file to target obj_persist.saveuri(obj_uri,null,null,null,null,obj_targetfile,privacycontext); // starting with
firefox 36 saveuri takes 8 parameters when called.
nsIWindowsShellService
inherits from: nsishellservice last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview string getregistryentry(in long ahkeyconstant, in string asubkeyname, in string avaluename); obsolete since gecko 1.8 void restorefilesettings(in boolean aforallusers); obsolete since gecko 1.9 void shortcutmaintenance(); attributes attribute type description desktopbackgroundcolor unsigned long the desktop background color, visible when no background image is used, or if the background image is centered and does not fill the entire screen.
...obsolete since gecko 1.8 methods getregistryentry() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) retrieves a windows registry entry value.
... restorefilesettings() obsolete since gecko 1.9 (
firefox 3) restores system settings to what they were before
firefox modified them.
... void restorefilesettings( in boolean aforallusers ); parameters aforallusers whether or not
firefox should restore settings for all users on a multi-user system.
nsIXULAppInfo
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) in xulrunner applications nsixulappinfo obtains app-specific information from application.ini.
...this must be ascii, and is normally mixed-case, for example "
firefox", "thunderbird" or "seamonkey".
...in "
firefox 3.7 alpha 1" the application version is "3.7a1pre" while the platform version is "1.9.3pre" read only.
.../app-info;1"] .getservice(components.interfaces.nsixulappinfo); alert("application version: " + info.version + "\n" + "gecko version: " + info.platformversion); example this example here uses nsixulappinfo to get the version of the current browser and then compares it: example - compare current browser version see also using nsixulappinfo nsixulruntime get thunderbird version
firefox code snippets ...
nsIZipReader
inherits from: nsisupports last changed in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7) implemented by: @mozilla.org/libjar/zip-reader;1.
... starting in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7), the nsizipreader api supports a limited 8 bit code page usage.
... init() obsolete since gecko 1.9 (
firefox 3) initializes a zip reader after construction.
...xpi files are zip files, just
firefox needs the extension to be xpi.
Storage
it is available to trusted callers, meaning extensions and
firefox components only.
... the api is currently "unfrozen", which means it is subject to change at any time; in fact, it has changed somewhat with each release of
firefox since it was introduced, and will likely continue to do so for a while.
... binding multiple sets of parameters starting in gecko 1.9.2 (
firefox 3.6), there's a new, more convenient way to bind multiple sets of parameters at once prior to executing your statement asynchronously.
... executing a statement you may execute statements either synchronously (which is supported in
firefox gecko 1.8 and 1.9) or asynchronously (starting in gecko 1.9.1).
XPCOM ABI
to put it simply, an xpcom component built for a specific abi would only be compatible with
firefox, thunderbird or other xulrunner application built for the same abi.
... 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++ compiler gcc2 - gnu c++ compiler 2.x gcc3 - gnu c++ compiler 3.x or 4.x sunc - sun c++ compiler ibmc - ibm c++ compiler for example:
firefox built with the gnu c++ compiler 4.0.0 for the intel pentium processor would have xpcom abi of x86-gcc3 the xpcom abi string can be retrieved programmatically by using the nsixulruntime interface.
... to retrieve the abi of your
firefox or thunderbird, open the error console (accessible through tools | error console) and evaluate the following javascript code: components.classes["@mozilla.org/xre/app-info;1"] .getservice(components.interfaces.nsixulruntime) .xpcomabi if either the cpu architecture or the c++ compiler are unknown, the application wouldn't have an xpcom abi string and attempts to get it will result in error ns_error_not_available.
...
firefox) is built, the name of the abi it supports is embedded into it.
Main Windows
some of the code was written based off of early
firefox code, but is not exactly the same.
... customizetoolbar.xul and customizetoolbarsheet.xul these are two old files from when the original customizable toolbars were ported from
firefox (phoenix at the time) to thunderbird (minotaur at the time).
...at compile time these files are added to the toolkit directory so that their chrome addresses are in global, the same as
firefox’s.
...i assume that customizetoolbars was originally not in the toolkit, but in
firefox's chrome, or that there were some special changes wanted for thunderbird's implementation at some point.
Toolkit version format
this document is a reference for the version format, as used in
firefox 1.5 (xulrunner 1.8) and later.
... see older version formats below for description of the older version format used in
firefox/thunderbird 1.0.
... 5pre4 (as in 3.5pre4): <number-a>=5, <string-b>=pre, <number-c>=4 * (as in 1.0.*): <string-b>=* a few special parsing rules are applied for backwards compatibility and readability: if the version part is a single asterisk, it is interpreted as an infinitely-large number: 1.5.0.* is the same as 1.5.0.(infinity) if string-b is a plus sign, number-a is incremented to be compatible with the
firefox 1.0.x version format: 1.0+ is the same as 1.1pre the rationale behind splitting a version part into a sequence of strings and numbers is that when comparing version parts, the numeric parts are compared as numbers, e.g.
... older version formats
firefox and thunderbird 1.0 used a simpler version format, namely major[.minor[.release[.build]]][+] where [..] denotes an optional component, and major, minor, release, and build are all non-negative integers.
Using the Mozilla symbol server
the mozilla project runs a symbol server for trunk
firefox nightly and release builds on windows.
... symbols are available for at least 30 previous days worth of nightly builds, and
firefox releases from 2.0.0.4.
... the official symbol server url for
firefox is https://symbols.mozilla.org/.
...the command should look like this (again, you can replace c:\symcache\ with any writable directory on your computer, if you'd prefer a different location for downloaded symbols): c:\program files\mozilla
firefox>c:\progra~1\debugg~1\symchk.exe /r c:\progra~1\mozill~1\* /s srv*c:\symcache\*https://symbols.mozilla.org/ note the \* after the mozilla directory.
Attr - Web APIs
/api/attr" target="_top"><rect x="266" y="1" width="75" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">attr</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} warning: starting in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4), a number of deprecated properties and methods output warning messages to the console.
... gecko outputs a deprecation note starting from gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4).
... this note was removed again in gecko 49.0 (
firefox 49.0 / thunderbird 49.0 / seamonkey 2.46).
... this change is implemented in chrome since version 46.0 and
firefox since version 48.0.
BasicCardRequest.supportedNetworks - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsupportednetworkschrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.billingAddress - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbillingaddresschrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.cardNumber - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcardnumberchrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support 56n...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.cardSecurityCode - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcardsecuritycodechrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.cardholderName - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcardholdernamechrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.expiryMonth - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetexpirymonthchrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support 56...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.expiryYear - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetexpiryyearchrome no support noedge no support ≤18 — 79
firefox full support 56notes disabled full support 56n...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android no support nochrome android full support 57
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
console - Web APIs
the web console in
firefox).
... console.profile() starts the browser's built-in profiler (for example, the
firefox performance tool).
...you can see the resulting profile in the browser's performance tool (for example, the
firefox performance tool).
... the properties usable along with the %c syntax are as follows (at least, in
firefox — they may differ in other browsers): background and its longhand equivalents.
Document - Web APIs
extension for html documents the document interface for html documents inherit from the htmldocument interface or, since html5, is extended for such documents: document.clear() in majority of modern browsers, including recent versions of
firefox and internet explorer, this method does nothing.
... non-standard extensions
firefox notes mozilla defines a set of non-standard properties made only for xul content: document.currentscript returns the <script> element that is currently executing.
... mozilla also define some non-standard methods: document.execcommandshowhelp()obsolete since gecko 14 this method never did anything and always threw an exception, so it was removed in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11).
... document.querycommandtext()obsolete since gecko 14 this method never did anything but throw an exception, and was removed in gecko 14 (
firefox 14 / thunderbird 14 / seamonkey 2.11).
FileList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilelistchrome full support 1edge full support 12
firefox full support 3ie full support 10opera...
... full support 11.1safari full support 4webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 11.1safari ios full support 3.2samsung internet android full support 1.0itemchrome full support yesedge full support 12
firefox full support yesie ...
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslengthchrome full support yesedge full support 12
firefox full support ...
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unk...
Using the Frame Timing API - Web APIs
this section briefly describes the web performance tools for the
firefox and chrome/canary browsers.
...
firefox performance tool
firefox's performance tool allows the developer to record a piece of the user's interaction and the data obtained during the recording is used to create a profile of the browser's activity.
...
firefox's performance tool also includes a frame rate graph which provides timestamps for each frame including the average frame rate and the minimum and maximum rates (for a specific recording session).
... chrome performance tool the chrome (and canary) browsers also have a performance tool with similar functions as
firefox.
IDBCursor.key - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetkeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
... 8samsung internet android full support yesbinary keyschrome full support 58edge full support ≤79
firefox full support 51ie ?
... opera full support 45safari full support 10.1webview android full support 58chrome android full support 58
firefox android ?
IDBEnvironment - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbenvironment deprecatednon-standardchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkited...
...ge full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios ful...
...l support 8samsung internet android full support 1.5available in workers deprecatednon-standardchrome full support yesedge full support ≤18
firefox full support 37ie ?
... webview android full support yeschrome android full support yes
firefox android full support 37opera android full support yessafari ios ?
IDBFactory.open() - Web APIs
note: you can find out more information on the different available storage types, and how
firefox handles client-side data storage, at browser storage limits and eviction criteria.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetopenchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnamechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5renaming with name setterchrome full support yesedge full support ≤79
firefox full support 49ie ?
... webview android full support yeschrome android full support yes
firefox android ?
IDBObjectStore.deleteIndex() - Web APIs
has been deleted or removed.) in
firefox previous to version 41, an invalidstateerror was raised in this case as well, which was misleading; this has now been fixed (see bug 1176165.) notfounderror occurs if there is no index with the given name (case-sensitive) in the database.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdeleteindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full su...
...pport 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
KeyboardEvent: code values - Web APIs
keyboardevent.code value code
firefox chrome 0x0000 "unidentified" "" 0x0001 "escape" "escape" 0x0002 "digit0" "digit0" 0x0003 "digit1" "digit1" 0x0004 "digit2" "digit2" 0x0005 "digit3" "digit3" 0x0006 "digit4" "digit4" 0x0007 "digit5" "digit5" 0x0008 "digit6" "digit6" 0x0009 ...
...e066 "browserfavorites" "browserfavorites" 0xe067 "browserrefresh" "browserrefresh" 0xe068 "browserstop" "browserstop" 0xe069 "browserforward" "browserforward" 0xe06a "browserback" "browserback" 0xe06b "launchapp1" "" 0xe06c "launchmail" "" 0xe06d "launchmediaplayer" ("mediaselect" prior to
firefox 49) "" 0xe06e ~ 0xe0f0 "unidentified" "" 0xe0f1 (hanja key with korean keyboard layout) "lang2" "" 0xe0f2 (han/yeong key with korean keyboard layout) "lang1" "" code values on mac on mac os x, it's hard to get scancode or something which can distinguish a physical key from a key event.
...) kvk_f17 (0x40) "f17" "f17" kvk_ansi_keypaddecimal (0x41) "numpaddecimal" "numpaddecimal" kvk_ansi_keypadmultiply (0x43) "numpadmultiply" "numpadmultiply" kvk_ansi_keypadplus (0x45) "numpadadd" "numpadadd" kvk_ansi_keypadclear (0x47) "numlock" "numlock" kvk_volumeup (0x48) "audiovolumeup" (was "volumeup" until
firefox 48) "audiovolumeup" (was "volumeup" until chrome 50) kvk_volumedown (0x49) "audiovolumedown" (was "volumedown" until
firefox 49) "audiovolumedown" (was "volumedown" until chrome 50) kvk_mute (0x4a) "audiovolumemute" (was "volumemute" until
firefox 49) "audiovolumemute" (was "volumemute" until chrome 50) kvk_ansi_keypaddivide (0x4b) "numpaddivide" "n...
...2 "f16" "" 0x00c3 "f17" "" 0x00c4 "f18" "" 0x00c5 "f19" "" 0x00c6 "f20" "" 0x00c7 "f21" "" 0x00c8 "f22" "" 0x00c9 "f23" "" 0x00ca "f24" "" 0x00cb ~ 0x00e0 "unidentified" "" 0x00e1 "browsersearch" "" code values on android and
firefox os (when scancode is available) scancode gecko 0x0001 "escape" 0x0002 "digit1" 0x0003 "digit2" 0x0004 "digit3" 0x0005 "digit4" 0x0006 "digit5" 0x0007 "digit6" 0x0008 "digit7" 0x0009 "digit8" 0x000a "digit9" 0x000b "digit0" 0x000c "m...
Metadata - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmetadata experimentalnon-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkit
firefox android no support noopera android no suppor...
... nosamsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitmodificationtime experimentalnon-standardchrome full support 13edge full support ≤79
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android full support yesf...
... noopera android no support nosafari ios no support nosamsung internet android full support yessize experimentalnon-standardchrome full support 13edge full support ≤79
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android full support yesf...
Using the Notifications API - Web APIs
firefox is already doing this from version 72, for example, and safari has done it for some time.
... in addition, in chrome and
firefox you cannot request notifications at all unless the site is a secure context (i.e.
... notification.permission = status; } }); } var button = document.getelementsbytagname('button')[0]; button.addeventlistener('click', function () { // if the user agreed to get notified // let's try to send ten notifications if (window.notification && notification.permission === "granted") { var i = 0; // using an interval cause some browsers (including
firefox) are blocking notifications if there are too much in a certain time.
... else if (window.notification && notification.permission !== "denied") { notification.requestpermission(function (status) { // if the user said okay if (status === "granted") { var i = 0; // using an interval cause some browsers (including
firefox) are blocking notifications if there are too much in a certain time.
PaymentResponse.complete() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcomplete()chrome full support 61edge full support 15
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support 56 no support 53 — 56disabled disabled from version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (n...
...to change preferences in chrome, visit chrome://flags.
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.details - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdetailschrome full support 61edge full support 15
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support 56 no support 53 — 56disabled disabled from version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (need...
...to change preferences in chrome, visit chrome://flags.
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.payerEmail - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpayeremailchrome full support 61edge full support 15
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support 56 no support 53 — 56disabled disabled from version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (n...
...to change preferences in chrome, visit chrome://flags.
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.shippingAddress - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetshippingaddresschrome full support 61edge full support 15
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support 56 no support 53 — 56disabled disabled from version 53 until version 56 (exclusive): this feature is behind the #web-payments preferen...
...to change preferences in chrome, visit chrome://flags.
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.shippingOption - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetshippingoptionchrome full support 61edge full support 15
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support 56 no support 53 — 56disabled disabled from version 53 until version 56 (exclusive): this feature is behind the #web-payments preferenc...
...to change preferences in chrome, visit chrome://flags.
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PerformanceLongTaskTiming - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetperformancelongtasktiming experimentalchrome full support 58edge full support ≤79
firefox no support nonotes no support ...
... webview android full support 58chrome android full support 58
firefox android no support nonotes no support nonotes notes see bug 1348405.opera android full support yessafari ios ?
... samsung internet android full support 7.0attribution experimentalchrome full support 58edge full support ≤79
firefox no support noie ?
... webview android full support 58chrome android full support 58
firefox android no support noopera android full support yessafari ios ?
RTCIceCandidatePairStats.selected - Web APIs
the non-standard,
firefox-specific rtcicecandidatepairstats property selected indicates whether or not the candidate pair described by the object is the one currently being used to communicate with the remote peer.
... syntax isselected = icpstats.selected; value a
firefox-specific boolean value which is true if the candidate pair described by this object is the one currently in use.
... if that fails, then the second section iterates over the reports, looking for a candidate-pair record whose
firefox-specific selected property is true.
...this property is unique to
firefox.
RTCRtpContributingSource.source - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsourcechrome full support 59edge full support ≤79
firefox full support 59disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari ?
... webview android full support 59chrome android full support 59
firefox android full support 59disabled full support 59disabled disabled from version 59: this feature is behind the media.peerconnection.rtpsourcesapi.enable preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android no support nosafari ios ?
SVGAnimatedString - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedstringchrome full support yesedge full support ≤18
firefox full support yesie no support ...
... noopera full support yessafari full support yeswebview android full support yeschrome android no support no
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android no support noanimvalchrome full support yesedge full support 12
firefox full support ...
...yesie no support noopera full support yessafari full support yeswebview android full support yeschrome android no support no
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android no support nobasevalchrome full support yesedge full support 12
firefox ...
... full support yesie no support noopera full support yessafari full support yeswebview android full support yeschrome android no support no
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android no support nolegend full support full suppor...
Window.showModalDialog() - Web APIs
this method was removed in chrome 43 and
firefox 56.
... note:
firefox does not implement the dialoghide, edge, status, or unadorned arguments.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetshowmodaldialog deprecatednon-standardchrome no support ?
... — 43edge no support no
firefox no support 3 — 56ie full support 4opera no support nosafari full support 5.1notes full support 5.1notes notes see webkit bug 151885 for possible future removal from safari.webview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support ...
Window.sidebar - Web APIs
methods the sidebar object returned has the following methods: method description (seamonkey) description (
firefox) addpanel(title, contenturl, "") adds a sidebar panel.
... obsolete since
firefox 23 (only present in seamonkey).
...also see creating a
firefox sidebar.
... note: this was made obsolete in
firefox 44, and has been removed completely in
firefox 59.
WorkerGlobalScope.dump() - Web APIs
in your terminal, in
firefox only.
... this is the same as
firefox's window.dump, but for workers.
... example to write an output from your worker to your computer's terminal, you first have to run an instance of
firefox started from your command line/terminal.
... for example, on mac os x you'd run it using something like this (assuming you are inside the applications folder): ./
firefox.app/contents/macos/
firefox-bin -profile /tmp -no-remote now go into about:config and enable the browser.dom.window.dump.enabled pref.
Using XMLHttpRequest - Web APIs
note: starting with gecko 30.0 (
firefox 30.0 / thunderbird 30.0 / seamonkey 2.27), synchronous requests on the main thread have been deprecated due to the negative effects to the user experience.
... note: the non-standard sendasbinary method is considered deprecated as of gecko 31 (
firefox 31 / thunderbird 31 / seamonkey 2.28) and will be removed soon.
..."&" : "?") + (new date()).gettime()); oreq.send(null); security
firefox 3 note versions of
firefox prior to
firefox 3 allowed you to set the preference capability.policy.<policyname>.xmlhttprequest.open</policyname> to allaccess to give specific sites cross-site access.
...
firefox 5 note versions of
firefox prior to
firefox 5 could use netscape.security.privilegemanager.enableprivilege("universalbrowserread"); to request cross-site access.
Accessibility FAQ - Accessibility
firefox 3 accessibility features (archive.org) which assistive technologies support
firefox and thunderbird?
... assistive technology compatibility - documents assistive technologies for windows, linux, unix, mac os x and the degree of compatibility with
firefox what can i do to make sure my mozilla extensions are accessible?
... i'm interested in helping promote the fine accessibility features that
firefox provides, what can i do?
... join the
firefox accessibility advocates ...
Resizing background images with background-size - CSS: Cascading Style Sheets
tiling a large image let's consider a large image, a 2982x2808
firefox logo image.
... html <div class="tiledbackground"> </div> css .tiledbackground { background-image: url(https://www.mozilla.org/media/img/logos/
firefox/logo-quantum.9c5e96634f92.png); background-size: 150px; width: 300px; height: 300px; border: 2px solid; color: pink; } result stretching an image you can also specify both the horizontal and vertical sizes of the image, like this: background-size: 300px 150px; the result looks like this: scaling an image up on the other end of the spectrum, you can scale an image up in the background.
... html <div class="bgsizecontain"> <p>try resizing this element!</p> </div> css .bgsizecontain { background-image: url(https://www.mozilla.org/media/img/logos/
firefox/logo-quantum.9c5e96634f92.png); background-size: contain; width: 160px; height: 160px; border: 2px solid; color: pink; resize: both; overflow: scroll; } result cover the cover value specifies that the background image should be sized so that it is as small as possible while ensuring that both dimensions are greater than or equal to the corresponding size of the container.
... html <div class="bgsizecover"> <p>try resizing this element!</p> </div> css .bgsizecover { background-image: url(https://www.mozilla.org/media/img/logos/
firefox/logo-quantum.9c5e96634f92.png); background-size: cover; width: 160px; height: 160px; border: 2px solid; color: pink; resize: both; overflow: scroll; } result see also background-size background scaling of svg backgrounds ...
Basic Concepts of grid layout - CSS: Cascading Style Sheets
at this point, you may find it useful to work with the grid inspector, available as part of
firefox's developer tools.
... if you view this example in
firefox and inspect the grid, you will see a small icon next to the value grid.
...nd: 3; } .box2 { grid-column-start: 1; grid-row-start: 3; grid-row-end: 5; } * {box-sizing: border-box;} .wrapper { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; } .wrapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } don't forget that you can use the grid inspector in
firefox developer tools to see how the items are positioned against the lines of the grid.
... note: this feature shipped in
firefox 71, which is currently the only browser to implement subgrid.
CSS Grid Layout and Progressive Enhancement - CSS: Cascading Style Sheets
in spring of 2017, we saw for the first time a major specification like grid being shipped into browsers almost simultaneously, and we now have css grid layout support in the public versions of
firefox, chrome, opera, safari and edge.
... the supporting browsers other than in internet explorer, css grid layout is unprefixed in safari, chrome, opera,
firefox and edge.
...this means that if you write some grid layout code in
firefox, it should work in the same way in chrome.
...if they tend to use up-to-date versions of
firefox, chrome, opera, and safari, then it would make sense to start using css grids once those browsers update.
Viewport concepts - CSS: Cascading Style Sheets
if you query the width or height of the window and document in chrome or
firefox, you may get: document.documentelement.clientwidth /* 1200 */ window.innerwidth /* 1200 */ window.outerwidth /* 1200 */ document.documentelement.clientheight /* 800 */ window.innerheight /* 800 */ window.outerheight /* 900 */ there are several dom properties that can help you query viewport size, and other similar lengths: the document element's element.clientwidth is the inner width of a...
... when zoomed in, both
firefox and chrome report the new css pixel size for innerwidth and clientwidth.
... the values returned for the outerwidth and outerheight depend on the browser:
firefox reports the new value in css pixels, but chrome returns the length in the default pixel size.
... when zoomed in you may get: document.documentelement.clientwidth /* 800 */ window.innerwidth /* 800 */ window.outerwidth /* 800 in
firefox, 1200 in chrome */ document.documentelement.clientheight /* 533 */ window.innerheight /* 533 */ window.outerheight /* 596 in
firefox, 900 in chrome */ the viewport was originally 1200 x 800 pixels.
background-position-x - CSS: Cascading Style Sheets
html <div></div> css div { width: 300px; height: 300px; background-color: skyblue; background-image: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/
firefox.png); background-repeat: no-repeat; background-position-x: center; background-position-y: bottom 10px; } result specifications specification status comment css backgrounds and borders module level 4the definition of 'background-position-x' in that specification.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbackground-position-xchrome full support 1edge full support 12
firefox full support 49ie full support 6oper...
...a full support 15safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 49opera android full support 18safari ios full support 1samsung internet android full support 1.0two-value syntax (support for offsets from any edge)chrome no support noedge no support 12 — 79
firefox full support ...
... 49ie full support 9opera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 49opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support ...
background-position-y - CSS: Cascading Style Sheets
html <div></div> css div { width: 300px; height: 300px; background-color: skyblue; background-image: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/
firefox.png); background-repeat: no-repeat; background-position-x: center; background-position-y: bottom 10px; } result specifications specification status comment css backgrounds and borders module level 4the definition of 'background-position-y' in that specification.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbackground-position-ychrome full support 1edge full support 12
firefox full support 49ie full support 6oper...
...a full support 15safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 49opera android full support 14safari ios full support 1samsung internet android full support 1.0two-value syntax (support for offsets from any edge)chrome no support noedge no support 12 — 79
firefox full support ...
... 49ie full support 9opera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 49opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support ...
border-left-style - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborder-left-stylechrome full support 1edge full support 12
firefox full support 1notes full support ...
... 1notes notes prior to
firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid.
... this has been fixed in
firefox 50.ie full support 5.5opera full support 9.2safari full support 1webview android full support 2.3chrome android full support 18
firefox android full support 14notes full support 14notes notes prior to
firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid.
... this has been fixed in
firefox 50.opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
border-right-style - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborder-right-stylechrome full support 1edge full support 12
firefox full support 1notes full support ...
... 1notes notes prior to
firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid.
... this has been fixed in
firefox 50.ie full support 5.5opera full support 9.2safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 14notes full support 14notes notes prior to
firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid.
... this has been fixed in
firefox 50.opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
caption-side - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcaption-sidechrome full support 1edge full support 12
firefox full support 1ie full support 8op...
...era full support 4safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0non-standard values left, right, top-outside, and bottom-outside non-standardchrome no support noedge no support no
firefox ...
... full support 1ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support notop and bottom are relative to the writing-mode valuechrome no support no...
...edge no support no
firefox full support 42ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 42opera android no support nosafari ios no support nosamsung internet android no support nolegend ...
font-size-adjust - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfont-size-adjustchrome full support 43disabled full support 43disabled disabled from version 43: this feature is behind the enable experimental web platform features preference.
... to change preferences in chrome, visit chrome://flags.edge full support 79disabled full support 79disabled disabled from version 79: this feature is behind the enable experimental web platform features preference.
firefox full support 40 full support 40 full support 3notes notes before
firefox 40, font-size-adjust: 0 was incorrectly interpreted as font-size-adjust: none (bug 1144885).
... full support 1notes notes before
firefox 3, font-size-adjust was supported on windows only.ie no support noopera full support 30disabled full support 30disabled disabled from version 30: this feature is behind the enable experimental web platform features preference.safari no support nowebview android no support nochrome android full support 43disabled full support 43disabled disabled from version 43: this feature is behind the enable exper...
...to change preferences in chrome, visit chrome://flags.
firefox android full support 4opera android full support 30disabled full support 30disabled disabled from version 30: this feature is behind the enable experimental web platform features preference.safari ios no support nosamsung internet android no support nolegend full support full support no support no supportsee implementation notes.see impl...
font-variant-caps - CSS: Cascading Style Sheets
it also applies to ::first-letter and ::first-line.inheritedyescomputed valueas specifiedanimation typediscrete formal syntax normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps examples setting the small-caps font variant html <p class="small-caps">
firefox rocks, small caps!</p> <p class="normal">
firefox rocks, normal caps!</p> css .small-caps { font-variant-caps: small-caps; font-style: italic; } .normal { font-variant-caps: normal; font-style: italic; } result specifications specification status comment css fonts module level 3the definition of 'font-variant-caps' in that specification.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfont-variant-capschrome full support 52edge full support 79
firefox full support 34 full support 34 no support 24 — 34disabled disabled from version 24 until ve...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 39safari no support nowebview android full support 52chrome android full support 52
firefox android full support 34 full support 34 no support 24 — 34disabled disabled from version 24 until version 34 (exclusive): this feature is behind the layout.css.font-...
...to change preferences in
firefox, visit about:config.opera android full support 41safari ios no support nosamsung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
Live streaming web audio and video - Developer guides
this is not yet supported natively in most browsers, but be aware that
firefox os 1.3 supports rtsp.
... hls can also be decoded using javascript, which means we can support the latest versions of
firefox, chrome and internet explorer 10+.
... streaming file format support browser dash hls opus (audio)
firefox 32 ✓ [1] ✓ [2] ✓ 14+ safari 6+ ✓ chrome 24+ ✓ [1] ✓ opera 20+ ✓ [1] internet explorer 10+ ✓ 11 ✓ [2]
firefox mobile ✓ ✓ ✓ safari ios6+ ✓ chrome mobile ✓ ✓ [2] opera mobile ✓ [1] ✓ internet explorer mobile ✓ 11 ✓ [2] android ✓ [1] via ...
... currently, opus is supported by
firefox desktop and mobile as well as the latest versions of desktop chrome and opera.
HTML5 Parser - Developer guides
parsing is now done in a separate thread from
firefox’s main ui thread, improving overall browser responsiveness.
...if you tested your site only with gecko 1.x or webkit (for example,
firefox-only intranets or webkit-oriented mobile sites), then you might have tags that match this pattern, and they will behave differently with gecko 2.
...scripts that serve racy code to
firefox, perhaps while serving safe code to ie, will see a difference due to this change.
...
firefox writes a warning to the javascript console when it ignores a call to document.write().
<acronym> - HTML: Hypertext Markup Language
implementation note: up to gecko 1.9.2 inclusive,
firefox implements the htmlspanelement interface for this element.
... opera,
firefox, chrome, and some others add a dotted underline to the content of the element.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetacronym deprecatednon-standardchrome full support yesedge full support 12
firefox full support yesie full support ...
... yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full supportnon-standard.
<content>: The Shadow DOM Content Placeholder element (obsolete) - HTML: Hypertext Markup Language
see enabling web components in
firefox.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcontent deprecatednon-standardchrome full support 35edge full support 79
firefox no support 33 — 59disabled no support 33 — 59di...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 26safari no support nowebview android full support 37chrome android full support 37
firefox android no support 33 — 59disabled no support 33 — 59disabled disabled from version 33 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be...
...to change preferences in
firefox, visit about:config.opera android ?
<dl>: The Description List element - HTML: Hypertext Markup Language
examples single term and description <dl> <dt>
firefox</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
... </dd> <!-- other terms and descriptions --> </dl> multiple terms, single description <dl> <dt>
firefox</dt> <dt>mozilla
firefox</dt> <dt>fx</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
... </dd> <!-- other terms and descriptions --> </dl> single term, multiple descriptions <dl> <dt>
firefox</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
... </dd> <dd> the red panda also known as the lesser panda, wah, bear cat or
firefox, is a mostly herbivorous mammal, slightly larger than a domestic cat (60 cm long).
<input type="tel"> - HTML: Hypertext Markup Language
firefox for android only.
... mozactionhint a mozilla extension, supported by
firefox for android, which provides a hint as to what sort of action will be taken if the user presses the enter or return key while editing the field.
...to see the status of the change being implemented in
firefox, see bug 1490661.
...
firefox for android webkit ios (safari/chrome/
firefox) a simple tel input in its most basic form, a tel input can be implemented like this: <label for="telno">phone number:</label> <input id="telno" name="telno" type="tel"> there is nothing magical going on here.
Using the application cache - HTML: Hypertext Markup Language
as of
firefox 44+, when appcache is used to provide offline support for a page, a warning message displays in the console advising developers to use service workers instead (bug 1204581).
... some browsers (e.g.,
firefox) display a notification bar the first time a user loads an application that uses the application cache.
... in
firefox, the offline cache data is stored separately from the
firefox profile—next to the regular disk cache: windows vista/7: c:\users\<username>\appdata\local\mozilla\
firefox\profiles\<salt>.<profile name>\offlinecache mac/linux: /users/<username>/library/caches/
firefox/profiles/<salt>.<profile name>/offlinecache in
firefox the current status of the offline cache can be inspected on the about:c...
... prior to
firefox 11, neither tools -> clear recent history nor tools -> options -> advanced -> network -> offline data -> clear now cleared the offline cache.
HTTP authentication - HTTP
from
firefox 59 onwards, image resources loaded from different origins to the current document are no longer able to trigger http authentication dialogs (bug 1423146), preventing user credentials being stolen if attackers were able to embed an arbitrary image into a third-party page.
...
firefox once used iso-8859-1, but changed to utf-8 for parity with other browsers and to avoid potential problems as described in bug 1419658.
... bearer see rfc 6750, bearer tokens to access oauth 2.0-protected resources digest see rfc 7616, only md5 hashing is supported in
firefox, see bug 472823 for sha encryption support hoba see rfc 7486, section 3, http origin-bound authentication, digital-signature-based mutual see rfc 8120 aws4-hmac-sha256 see aws docs basic authentication scheme the "basic" http authentication scheme is defined in rfc 7617, which transmits credentials as user id/password pairs, encoded using base64.
...in
firefox, it is checked if the site actually requires authentication and if not,
firefox will warn the user with a prompt "you are about to log in to the site “www.example.com” with the username “username”, but the website does not require authentication.
Cross-Origin Resource Sharing (CORS) - HTTP
statechange = somehandler; xhr.send(); this performs a simple exchange between the client and the server, using cors headers to handle the privileges: let's look at what the browser will send to the server in this case, and let's see how the server responds: get /resources/public-data/ http/1.1 host: bar.other user-agent: mozilla/5.0 (macintosh; intel mac os x 10.14; rv:71.0) gecko/20100101
firefox/71.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip,deflate connection: keep-alive origin: https://foo.example the request header of note is origin, which shows that the invocation is coming from https://foo.example.
...the first exchange is the preflight request/response: options /doc http/1.1 host: bar.other user-agent: mozilla/5.0 (macintosh; intel mac os x 10.14; rv:71.0) gecko/20100101
firefox/71.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip,deflate connection: keep-alive origin: http://foo.example access-control-request-method: post access-control-request-headers: x-pingother, content-type http/1.1 204 no content date: mon, 01 dec 2008 01:15:39 gmt server: apache/2 access-control-allow-origin: https://...
...s-control-allow-methods: post, get, options access-control-allow-headers: x-pingother, content-type access-control-max-age: 86400 vary: accept-encoding, origin keep-alive: timeout=2, max=100 connection: keep-alive once the preflight request is complete, the real request is sent: post /doc http/1.1 host: bar.other user-agent: mozilla/5.0 (macintosh; intel mac os x 10.14; rv:71.0) gecko/20100101
firefox/71.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip,deflate connection: keep-alive x-pingother: pingpong content-type: text/xml; charset=utf-8 referer: https://foo.example/examples/preflightinvocation.html content-length: 55 origin: https://foo.example pragma: no-cache cache-control: no-cache <person><name>arun</name>...
... here is a sample exchange between client and server: get /resources/credentialed-content/ http/1.1 host: bar.other user-agent: mozilla/5.0 (macintosh; intel mac os x 10.14; rv:71.0) gecko/20100101
firefox/71.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip,deflate connection: keep-alive referer: http://foo.example/examples/credential.html origin: http://foo.example cookie: pageaccess=2 http/1.1 200 ok date: mon, 01 dec 2008 01:34:52 gmt server: apache/2 access-control-allow-origin: https://foo.example access-control-a...
HTTP Index - HTTP
11 resource urls guide, http, intermediate, resource resource urls, urls prefixed with the resource: scheme, are used by
firefox and
firefox browser extensions to load resources internally, but some of the information is available to sites the browser connects to as well.
...it is currently only implemented in
firefox, but is harmless to send to every browser.
... 192
firefox user agent string reference compatibility,
firefox,
firefox 4, gecko, gecko 2.0, guide this document describes the user agent string used in
firefox 4 and later and applications based on gecko 2.0 and later.
... for a breakdown of changes to the string in gecko 2.0, see final user agent string for
firefox 4 (blog post).
Introduction - JavaScript
it is useful if you want to implement standards-compliant language features in your ecmascript implementation or engine (such as spidermonkey in
firefox, or v8 in chrome).
...this guide includes some javascript features which are only currently available in the latest versions of
firefox, so using the most recent version of
firefox is recommended.
... the web console tool built into
firefox is useful for experimenting with javascript; you can use it into two modes: single-line input mode, and multi-line input mode.
... to open the web console (ctrl+shift+i on windows and linux or cmd-option-k on mac), open the tools menu in
firefox, and select "developer â–¶ web console".
WebAssembly.CompileError - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jscompileerrorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet andro...
...id full support 7.0nodejs full support 8.0.0compileerror() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full supp...
...ort 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.LinkError - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jslinkerrorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
... full support 7.0nodejs full support 8.0.0linkerror() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support ...
... 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.RuntimeError - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsruntimeerrorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet andro...
...id full support 7.0nodejs full support 8.0.0runtimeerror() constructorchrome full support 57edge full support 16
firefox full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full supp...
...ort 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
JavaScript shells - JavaScript
firefox has a built-in javascript console, which support multi-line editing.
... mozrepl - connect to
firefox and other mozilla apps, explore and modify them from the inside, while they're running.
... execute js - (no longer maintained) -
firefox-extension which provides an enhanced javascript-console, where you can comfortably enter and execute arbitrary javascript-code and modify functions.
... xqjs - simple console for
firefox.
Authoring MathML - MathML
prior to gecko 31.0 (
firefox 31.0 / thunderbird 31.0 / seamonkey 2.28), it was a bit tedious to setup math fonts, see the font instructions for mozilla 2.0.
... for gecko 31.0 (
firefox 31.0 / thunderbird 31.0 / seamonkey 2.28), this is much simpler and is compatible with any web rendering engine with mathml support.
... graphical interface input box texzilla has several interfaces, including a ckeditor plugin used on mdn, an online demo, a
firefox add-on or a
firefoxos webapp.
... wysiywg editors firemath is an extension for
firefox that provides a wysiwyg mathml editor.
CSS and JavaScript animation performance - Web Performance
requestanimationframe the fact is that, in most cases, the performance of css-based animations is almost the same as javascripted animations — in
firefox at least.
... in this section we'll walk you through a performance test, using
firefox, to see what animation method seems better overall.
...now you will be able to see three little purple boxes at the upper left corner of the
firefox window.
... to enable the omta (off main thread animation) in
firefox, you can go to about:config and search for the layers.offmainthreadcomposition.async-animations.
How to make PWAs installable - Progressive web apps (PWAs)
if developing your app using
firefox, be aware that you will need a service worker to be compatible with chromium-based browsers.
... the js13kpwa.webmanifest file of the js13kpwa web app is included in the <head> block of the index.html file using the following line of code: <link rel="manifest" href="js13kpwa.webmanifest"> there are a few common kinds of manifest file that have been used in the past: manifest.webapp was popular in
firefox os app manifests, and many use manifest.json for web manifests as the contents are organized in a json structure.
...in the screen shot above, for example, the app has a tiny
firefox icon, indicating that it's a web app that uses the
firefox runtime.
...browser support is currently limited to
firefox for android 58+, mobile chrome and android webview 31+, and opera for android 32+, but this should improve in the near future.
Common XSLT Errors - XSLT: Extensible Stylesheet Language Transformations
in
firefox 6 and forward, you can also use the official xslt mimetype: application/xslt+xml.
...
firefox only supports the official xslt 1.0 version.
... missing features there are some features in the xslt 1.0 specification which
firefox unfortunately does not yet support.
...however
firefox never serializes the output document and so the attribute isn't really applicable.
PI Parameters - XSLT: Extensible Stylesheet Language Transformations
to solve this two new pis are implemented in
firefox 2 (see supported versions below for details), <?xslt-param?> and <?xslt-param-namespace?>.
...note that multiple xml-stylesheet xslt pis are not supported in
firefox currently.
... examples set the parameter 'books' to a nodeset containing all <book> elements in the 'http://www.example.org/mynamespace' namespace: <?xslt-param-namespace prefix="my" namespace="http://www.example.org/mynamespace"?> <?xslt-param name="books" select="//my:book"?> supported versions supported as of
firefox 2.0.0.1.
... the value attribute is supported in
firefox 2, but the select attribute crashes for some expressions in the 2.0 release.
Using the WebAssembly JavaScript API - WebAssembly
create a <script></script> element in your html file, and add the following code to it: var importobject = { imports: { imported_func: arg => console.log(arg) } }; streaming the webassembly module new in
firefox 58 is the ability to compile and instantiate webassembly modules directly from underlying sources.
... the equivalent code would look like this: fetch('simple.wasm').then(response => response.arraybuffer() ).then(bytes => webassembly.instantiate(bytes, importobject) ).then(results => { results.instance.exports.exported_func(); }); viewing wasm in developer tools in
firefox 54+, the developer tool debugger panel has functionality to expose the text representation of any wasm code included in a web page.
... starting soon in
firefox, in addition to viewing webassembly as text, developers will be able to debug (place breakpoints, inspect the callstack, single-step, etc.) webassembly using the text format.
... see webassembly debugging with
firefox devtools for a video preview.
Navigator.mozNotification - Archive of obsolete content
mobile only in gecko 2.0 available only in
firefox mobile as of gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) provides support for creating notification objects, which are used to display desktop notification alerts to the user.
... currently, these are only supported on
firefox mobile and
firefox os.
... permissions when using notifications in an open web app, be sure to add the desktop-notification permission in your manifest file: "permissions": { "desktop-notification": {} } usage notes in
firefox 22+, the instantiation of a new notification should be done with the notification object by calling new notification(title, options).
Content Processes - Archive of obsolete content
content scripts when the sdk was first designed,
firefox was being refactored towards a multiprocess model.
... as explained earlier,
firefox doesn't yet use separate processes for tabs or add-ons, so instead, each content script is loaded in a sandbox.
... a few notes on security as we stated earlier, the sdk was designed with multiprocess support in mind, despite the fact that work on implementing this in
firefox has currently been suspended.
context-menu - Archive of obsolete content
your context listener is called even if any declarative contexts are not current (since
firefox 36).
... accesskey single-character string new in
firefox 35.
... predicatecontext(predicatefunction) new in
firefox 29 creates a context that occurs when predicatefunction returns a true value.
passwords - Archive of obsolete content
interact with
firefox's password manager to add, retrieve and remove stored credentials.
... the realm is displayed in
firefox's password manager, under "site", in brackets after the url.
... the realm is displayed in
firefox's password manager, under "site", in brackets after the url.
High-Level APIs - Archive of obsolete content
passwords interact with
firefox's password manager to add, retrieve and remove stored credentials.
... simple-storage lets an add-on store data so that it's retained across
firefox restarts.
... widget create a simple user interface for an add-on in
firefox's add-on bar.
remote/parent - Archive of obsolete content
usage in multiprocess
firefox: the browser ui runs in one process, sometimes called the chrome process or the parent process web content runs in one or more other processes, sometimes called content processes or remote processes or child processes.
...this includes the content of every tab in an application like
firefox and also some other ui elements.
...multiprocess
firefox restricts the things that code running in child processes is allowed to do.
system/xul-app - Archive of obsolete content
for example, for
firefox this value is "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}".
...the possible values here are: "
firefox" "fennec" "mozilla" "seamonkey" "sunbird" "thunderbird" "
firefox"and"fennec"` are the most commonly used values.
...for example, ids["
firefox"] == "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}".
package.json - Archive of obsolete content
firefox:
firefox desktop fennec:
firefox for android thunderbird: thunderbird seamonkey: seamonkey any application uuid example: "engines": { "
firefox": ">= 38.0a1", "fennec": ">= 38.0a1" } fullname note: this is deprecated along with cfx; it's not available when using jpm.
...a larger icon will work, but may either scaled and possibly distorted) or might break parts of
firefox ui.
... multiprocess: a boolean value declaring whether this add-on is, or is not, compatible with multiprocess
firefox.
Creating annotations - Archive of obsolete content
deprecated in
firefox 29 and removed in
firefox 38.
... warning: this tutorial relies on the since-removed widget api and no longer works with
firefox.
... the widget api is deprecated from
firefox 29 onwards.
Displaying annotations - Archive of obsolete content
deprecated in
firefox 29 and removed in
firefox 38.
... warning: this tutorial relies on the since-removed widget api and no longer works with
firefox.
... the widget api is deprecated from
firefox 29 onwards.
Overview - Archive of obsolete content
deprecated in
firefox 29 and removed in
firefox 38.
... warning: this tutorial relies on the since-removed widget api and no longer works with
firefox.
... the widget api is deprecated from
firefox 29 onwards.
Annotator - Archive of obsolete content
deprecated in
firefox 29 and removed in
firefox 38.
... warning: this tutorial relies on the since-removed widget api and no longer works with
firefox.
... the widget api is deprecated from
firefox 29 onwards.
Creating Reusable Modules - Archive of obsolete content
} return path; } hash function
firefox has built-in support for hash functions, exposed via the nsicryptohash xpcom interface the documentation page for that interface includes an example of calculating an md5 hash of a file's contents, given its path.
... var s = array.from(hash, (c, i) => tohexstring(hash.charcodeat(i))).join(""); return s; } putting it together the complete add-on adds a button to
firefox: when the user clicks the button, we ask them to select a file, compute the hash, and log the hash to the console: var {cc, ci} = require("chrome"); // return the two-digit hexadecimal code for a byte function tohexstring(charcode) { return ("0" + charcode.tostring(16)).slice(-2); } function md5file(path) { var f = cc["@mozilla.org/file/local;1"] .createinstance(ci.nsilocalfile);...
...ilepicker = require("./filepicker.js"); var md5 = require("./md5.js"); require("sdk/ui/button/action").actionbutton({ id: "show-panel", label: "show panel", icon: { "16": "./icon-16.png" }, onclick: function() { console.log(md5.hashfile(filepicker.promptforfile())); } }); distributing modules with jpm, we use npm as the package manager for sdk modules that don't ship inside
firefox.
Modifying Web Pages Based on URL - Archive of obsolete content
from
firefox 34 onwards, you can just use "./my-script.js" instead.
... directory in a file called my-script.js: // import the page-mod api var pagemod = require("sdk/page-mod"); // import the self api var self = require("sdk/self"); // create a page-mod // it will run a script whenever a ".org" url is loaded // the script replaces the page contents with a message pagemod.pagemod({ include: "*.org", contentscriptfile: self.data.url("my-script.js") }); or from
firefox 34 onwards: // import the page-mod api var pagemod = require("sdk/page-mod"); // create a page-mod // it will run a script whenever a ".org" url is loaded // the script replaces the page contents with a message pagemod.pagemod({ include: "*.org", contentscriptfile: "./my-script.js" }); loading multiple content scripts you can load more than one script, and the scripts can interact directl...
... var pagemod = require("sdk/page-mod").pagemod({ include: "*", contentstylefile: require("sdk/self").data.url("my-style.css") }); or, from
firefox 34, you can use the simpler version: var pagemod = require("sdk/page-mod").pagemod({ include: "*", contentstylefile: "./my-style.css" }); learning more to learn more about page-mod, see its api reference page.
Localization - Archive of obsolete content
using localized strings in html this example uses the action button api, which is only available from
firefox 29 onwards.
...hello_id= <blink>hello!</blink> localizing element attributes this feature is new in
firefox 39 you can localize certain attributes of elements with an l10n-id by setting its value with l10n-id.attributename in the properties file like: hello_id.accesskey= h the following attributes are supported: accesskey alt label title placeholder further the localization of the aria attributes aria-label, aria-valuetext and aria-moz-hint are supported with the same aliases as on
firefox ...
..."monster-builder", "license": "mpl 2.0", "author": "me", "version": "0.1", "title": "monster builder", "id": "monster-builder@me.org", "description": "build your own monster" } using localized strings in preferences by including a "preferences" structure in your add-on's "package.json" file, you can define preferences for your add-on that the user can see and edit using
firefox's add-ons manager.
Progress Listeners - Archive of obsolete content
firefox 3.5 includes a way to set up a listener for all tabs, selected and not: listening to events on all tabs.
... remaining functions see related documentation onprogresschange: function(awebprogress, arequest, curself, maxself, curtot, maxtot) {}, onstatuschange: function(awebprogress, arequest, astatus, amessage) {}, onsecuritychange: function(awebprogress, arequest, astate) {} } attach the progress listener to a <browser> or a <tabbrowser> element using addprogresslistener, for example for
firefox put the following code in a load listener of a main window: gbrowser.addprogresslistener(mylistener); when used with a browser, the second argument is a mask which determines the type of events that will be received.
... gecko 2.0 note starting in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), all events are optional.
Developing add-ons - Archive of obsolete content
this page will help guide you to the information you need in order to create add-ons for
firefox, thunderbird, or other software based on the mozilla platform, as well as how to distribute your add-ons.
... extensions extensions add new functionality to mozilla applications such as
firefox, seamonkey and thunderbird.
... search engine plugins
firefox supports search engine plugins, which enable the search box to support different search engines.
Inline options - Archive of obsolete content
firefox 7 supports a new syntax for defining extensions' preferences for both bootstrapped and traditional extensions.
...this functionality originally appeared in
firefox mobile and is now available in
firefox on the desktop as well.
... 2: <em:optionsurl>chrome://myaddon/content/name_of_my_file_to_use_for_inline_opts.xul</em:optionsurl> <em:optionstype>2</em:optionstype> your chrome.manifest file should contain the following, otherwise the path chrome://myaddon/content/name_of_my_file_to_use_for_inline_opts.xul will not exist content myaddon ./ this method allows you to maintain compatibility with previous versions of
firefox by adding an override to your chrome.manifest: ...
Jetpack Processes - Archive of obsolete content
note: the jetpack service, provided by nsijetpackservice, is not included by default in
firefox 4.
... prior to
firefox 12, it could be included in custom builds by using enable_jetpack_service at compile time.
... however, the service has been removed entirely as of
firefox 12.
Multiple item extension packaging - Archive of obsolete content
from the release of
firefox 53, multiple item extension packages are no longer supported and will not load.
... for the
firefox and thunderbird 1.5 extension manager to determine that the package is a multiple item package, the em:type specified in your install.rdf must be 32 and specified as <em:type nc:parsetype="integer">32</em:type>.
... for the
firefox and thunderbird 2.0 extension manager you can use the above syntax or <em:type>32</em:type> as shown below.
Adding windows and dialogs - Archive of obsolete content
see the
firefox preferences window for an example of this: sections are defined using groupbox elements, but their style is quite different from the default.
...you can do this in most
firefox windows by pressing the tab key.
...
firefox will automatically focus the first input control in your window, and tab focus advances in the order the items are found in the xul document.
Appendix F: Monitoring DOM changes - Archive of obsolete content
their main disadvantage is that, due to their recent advent, support is currently limited to
firefox 14+ and chrome 18.
... while they are still viable for add-ons targeting only the latest
firefox, those wishing to support older browsers will need to provide fallbacks.
... css animation events this technique, which works on
firefox 5+, has some particular advantages.
XUL School Tutorial - Archive of obsolete content
xul school is a comprehensive add-on development tutorial, focusing on
firefox extension development.
...while
firefox changes rapidly, the content in this tutorial should be up to date and valid.
... introduction introduction getting started with
firefox extensions the essentials of an extension setting up a development environment javascript object management basic functionality adding menus and submenus adding toolbars and toolbar buttons adding events and commands adding windows and dialogs adding sidebars user notifications and alerts intermediate functionality intercepting page loads connecting to remote content handling preferences local storage advanced topics the box model xpcom objects observer notifications custom xul elements with xbl mozilla documentation roadmap useful mozilla community sites appendices appendix a: add-on performance appendix b: install and uninstall scripts appendix c: av...
Creating a dynamic status bar extension - Archive of obsolete content
« previousnext » this article builds upon the article creating a status bar extension, which creates a static status bar panel in the
firefox status bar, by dynamically updating its content with information fetched from the web every few minutes.
...need a slightly more complicated xul file this time, in order to add a reference to the javascript code that will do the real work: <?xml version="1.0" encoding="utf-8"?> <!doctype overlay> <overlay id="stockwatcher-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://stockwatcher/content/stockwatcher.js"/> <!--
firefox --> <statusbar id="status-bar"> <statusbarpanel id="stockwatcher" label="loading..." tooltiptext="current value" onclick="stockwatcher.refreshinformation()" /> </statusbar> </overlay> also, notice that the definition of the status bar panel now includes a new property, onclick, which references the javascript function that will be executed whenever the user clicks on the status ba...
...we use the window.addeventlistener() dom function to tell
firefox to call the stockwatcher.startup() function when a new browser window is opened: window.addeventlistener("load", function(e) { stockwatcher.startup(); }, false); our new extension has two primary functions: startup() and refreshinformation().
Install.js - Archive of obsolete content
to make your extension install in mozilla suite, seamonkey, mozilla
firefox pre-0.9 and mozilla thunderbird pre-0.7, you need to have an install.js file in the root of your xpi file.
... if you want your extension to install in
firefox 0.9 and later and/or thunderbird 0.7 and later only, you don't need install.js, you need an install.rdf instead.
...this version has been developed as part of the effort to port
firefox extensions to seamonkey from the xsidebar project.
Bypassing Security Restrictions and Signing Code - Archive of obsolete content
early versions of
firefox allowed web sites to segregate principals using signed scripts, and request extra permissions for scopes within signed scripts using a function called enableprivelege.
... the privilege manager has been deprecated in
firefox 12 and disabled in
firefox 17.
... sites that require additional permissions should now ask
firefox users to install an extension, which can interact with non-privileged pages if needed.
Using XML Data Islands in Mozilla - Archive of obsolete content
this feature is not based on multi-vendor web standards and is not supported in
firefox (or other non-ie browsers).
...</price> </lineitem> </purchaseorder> </script> the xml source text can then be retrieved like this: var ordersource = document.getelementbyid("purchase-order").textcontent; the xml source text can be parsed into a dom tree using the domparser api: var parser = new domparser(); var doc = parser.parsefromstring(ordersource, "application/xml"); the html5 data block-based way shown here works in
firefox, opera, webkit-based browsers such as chrome and safari, and ie9 while ie's xml data islands work only in ie.
...the price of the first line item is " + firstprice + "."; } </script> </head> <body onload="rundemo()";> demo did not run </body> </html> the xml source text can be parsed into a dom tree using the domparser api: var parser = new domparser(); var doc = parser.parsefromstring(ordersource, "application/xml"); the html5 data block-based way shown here works in
firefox, opera, webkit-based browsers such as chrome and safari, and ie9 while ie's xml data islands work only in ie.
Creating regular expressions for a microsummary generator - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) a regular expression is a special kind of string (i.e.
...here's a url for the same item in that different style: http://cgi.ebay.com/mozilla-
firefox-logo-1-inch-pin-badge-button-browser_w0qqitemz280018439106qqihz018qqcategoryz2036qqcmdzviewitem to accommodate these urls, we can create a second regular expression that matches them.
... here are several other urls of this style: http://cgi.ebay.com/
firefox-2002-dvd_w0qqitemz130017517168qqihz003qqcategoryz617qqcmdzviewitem http://cgi.ebay.com/ahm-ho-scale-
firefox-tank-car_w0qqitemz290019763032qqihz019qqcategoryz19130qqcmdzviewitem http://cgi.ebay.com/inuyasha-anime-pin-of-kirara-kilala-
firefox_w0qqitemz170019463424qqihz007qqcategoryz39557qqcmdzviewitem based on these examples, it looks like the urls all start with "http://cgi.ebay.com/", they all contain the string "qqitemz" followed by the item number, and they all end with the string "qqcmdzviewitem".
Using microformats - Archive of obsolete content
firefox 3 implements a global microformats object that provides access to microformats.
... loading the microformats api the microformats object is created using the new javascript script loader added to
firefox 3.
... predefined microformats
firefox 3 provides definitions implementing several common microformats: adr represents an address (such as a street or mailing address).
Twitter - Archive of obsolete content
or you can simply rely on
firefox.
... when you call a method that requires authentication -- such as jetpack.lib.twitter.statuses.update() -- without providing a username or password,
firefox will prompt the user for them if she is not already authenticated with twitter.
... example usage tweeting jetpack.lib.twitter.statuses.update({ status: "o frabjous day!" });
firefox will prompt for a username and password if the user is not already authenticated with twitter.
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
you can access it in mozilla by going to tools -> web development -> javascript console or in
firefox (the standalone browser product from mozilla) at tools -> javascript console.
...for
firefox, the debugger isn't bundled; instead, you can download and install it from the venkman project page.
...mozilla will indicate the rendering mode in view -> page info (or ctrl+i) ;
firefox will list the rendering mode in tools -> page info.
Prism - Archive of obsolete content
firefox extension: a
firefox extension, code-named "refractor", can be used to spin out new prism apps from inside the web browser.
... refractor adds a new menu item to call up the shortcut creation dialog for inside
firefox.
...bundles can be installed locally, or directly from a website using the prism for
firefox extension.
Supporting per-window private browsing - Archive of obsolete content
firefox 20 introduced per-window private browsing mode, in which private user data is stored and accessed concurrently with public user data from another window.
... try { //
firefox 20+ components.utils.import("resource://gre/modules/privatebrowsingutils.jsm"); if (!privatebrowsingutils.iswindowprivate(window)) { ...
... } } catch(e) { // pre
firefox 20 (if you do not have access to a doc.
Writing textual data - Archive of obsolete content
writing to a stream in gecko 1.8 (seamonkey 1.0,
firefox 1.5), you can use nsiconverteroutputstream: var charset = "utf-8"; // can be any character encoding name that mozilla supports var os = components.classes["@mozilla.org/intl/converter-output-stream;1"] .createinstance(components.interfaces.nsiconverteroutputstream); // this assumes that fos is the nsioutputstream you want to write to os.init(fos, charset, 0, 0x0000); os.wri...
... versions before gecko 1.8
firefox 1.0.x, mozilla 1.7.x and older versions do not support nsiconverteroutputstream.
... the example here requires gecko 1.8 (
firefox 1.5, seamonkey 1.0).
XTech 2005 Presentations - Archive of obsolete content
the mozilla project will meet this challenge with two major new features to be delivered in
firefox 1.1: integrated svg and a new canvas html element.
... extending gecko with xbl and xtf - brian ryner this session explored ways to extend mozilla/
firefox to handle new xml tags and namespaces via drop-in extensions to the layout engine.
... xul - mozilla's xml user interface language - ben goodger ben goodger, lead engineer for mozilla
firefox, talked about xul, mozilla's xml user interface toolkit.
textbox.onblur - Archive of obsolete content
prior to gecko 1.9 (
firefox 3), the script code would execute in the context of the anonymous html <input> element inside the textbox binding.
... from gecko 1.9 to gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9), the script code would actually execute twice, once in the context of the anonymous html <input> element and once in the context of the <textbox> element itself.
... as of gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10), the script code only runs in the context of the <textbox> element, matching the behavior of all other event handlers.
textbox.onfocus - Archive of obsolete content
prior to gecko 1.9 (
firefox 3), the script code would execute in the context of the anonymous html <input> element inside the textbox binding.
... from gecko 1.9 to gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9), the script code would actually execute twice, once in the context of the anonymous html <input> element and once in the context of the <textbox> element itself.
... as of gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10), the script code only runs in the context of the <textbox> element, matching the behavior of all other event handlers.
Menus - Archive of obsolete content
for more information about how to use an overlay to modify a menu, see using menus and popups in extensions the following tables list the ids of menus in
firefox that are commonly overlaid upon.
...
firefox menus element id description main-menubar the menubar element.
...
firefox context menu element id description relevant context contentareacontextmenu the popup for the context menu when a web page is displayed in the browser area.
Special per-platform menu considerations - Archive of obsolete content
checkforupdates the item that opens the update dialog for the application, for applications that have one (such as seamonkey;
firefox does not have this item).
... notes for
firefox extension developers on the mac, some elements, once moved to the application menu, are no longer accessible from xul overlays or from javascript injected into browser.xul.
... to change these items in
firefox, overlay hiddenwindow.xul instead.
SeaMonkey - making custom toolbar (SM ver. 1.x) - Archive of obsolete content
(for seamonkey 2,
firefox, thunderbird and sunbird, see the page: custom toolbar button) you do not need any special technical skills or tools, and almost all the information you need is on this page.
...seamonkey 2 is being reworked to support the same process as
firefox, thunderbird and others.
... note: for a similar tutorial that applies to seamonkey 2,
firefox, thunderbird and sunbird, see: custom toolbar button earlier versions and other mozilla applications also support extensions, but some parts of this tutorial are not appropriate for them.
Creating a Skin - Archive of obsolete content
« previousnext » this documentation has not updated for
firefox quantum.
... modifying userchrome.css is not guaranteed to work between versions of
firefox and may lead to hard-to-diagnose bugs.
... creating a custom skin package to create a skin, do the following: (if you are using
firefox 1.5 or later, see manifest files instead of below) create a directory somewhere where you want to place the skin files.
Creating a Window - Archive of obsolete content
the syntax is described below: window.open(url,windowname,flags); where the flags contains the flag "chrome" as in this example window.open("chrome://navigator/content/navigator.xul", "bmarks", "chrome,width=600,height=300"); if you are using
firefox, try below: window.open("chrome://browser/content/places/places.xul", "bmarks", "chrome,width=600,height=300"); you can test lines of javascript like these in the error console.
... to see the effect though, the following will open the bookmarks window: mozilla -chrome chrome://communicator/content/bookmarks/bookmarksmanager.xul if you are using
firefox, try below.
...
firefox -chrome chrome://browser/content/places/places.xul the '-chrome' argument doesn't give the file any additional privileges.
Using spell checking in XUL - Archive of obsolete content
spell checking functionality is available starting in
firefox 2.
... this document describes how to use the mozispellcheckingengine component to add spell checking capabilities to your
firefox extension.
... // different versions of
firefox have different contract ids var spellclass = "@mozilla.org/spellchecker/myspell;1"; if ("@mozilla.org/spellchecker/hunspell;1" in components.classes) spellclass = "@mozilla.org/spellchecker/hunspell;1"; if ("@mozilla.org/spellchecker/engine;1" in components.classes) spellclass = "@mozilla.org/spellchecker/engine;1"; gspellcheckengine = components.classes[spellclass].getservice(components.inte...
XUL accessibility tool - Archive of obsolete content
general information the xul accessibility tool is a
firefox extension designed by aaron andersen of webaim as part of a mozilla foundation accessibility minigrant in the spring of 2007.
...the version currently on xulplanet is compatible with the following xul applications:
firefox 1.5+ thunderbird 3.0a+ recent sunbird builds recent songbird builds.
... run checking tool on
firefox, thunderbird and other apps looking for bugs and fixing them.
panel - Archive of obsolete content
warning: for
firefox versions between 3.6 and 4.0, placing an iframe, browser or editor inside a panel is not supported.
...for those versions of
firefox, it is best to avoid child frames in a panel, if possible.
... this limitation was resolved as of
firefox 4.0.
richlistbox - Archive of obsolete content
note: in versions of
firefox prior to
firefox 3, rich list boxes support only single selection.
...
firefox 3 introduced multiple selection to rich list boxes.
... for richlistbox, this is new in
firefox 3.5.
toolbaritem - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ]
firefox only an item that appears on a toolbar.
... the element is used, for example, to hold the location bar's textbox in
firefox.
... it is also used to group buttons together so they can be added and removed all at once like
firefox's unified-back-forward-button.
tree - Archive of obsolete content
for richlistbox, this is new in
firefox 3.5.
...cbox-check.gif isn't available in
firefox 1, 2, and 3 in mac os x so you should specify a url to an image in your extension or elsewhere.
...cbox-check-dis.gif isn't available in
firefox 1, 2, and 3 in mac os x, so you should specify a url to an image in your extension or elsewhere.
treecol - Archive of obsolete content
on
firefox 2.x and 3.x, all operating systems other than mac os x already use these styles by default.
... if targeting
firefox for mac os x, be sure to use these styles but include your own checkbox image.
...cbox-check.gif isn't available in
firefox 1, 2, and 3 on mac os x, so you should specify a url to an image in your extension or elsewhere.
XUL - Archive of obsolete content
xul (xml user interface language) is mozilla's xml-based language for building user interfaces of applications like
firefox.
... xul periodic table this collection of xul demos used to be available as a web page, but can no longer be viewed in
firefox since support for remote xul was disabled.
...see: using
firefox 3 to run xulrunner applications for instructions on running xulrunner apps in
firefox.
XULRunner 1.9.1 Release Notes - Archive of obsolete content
xulrunner 1.9.1.x is built from the same source code snapshot as
firefox 3.5.x.
... current version the current version of xulrunner is 1.9.1.19, matching
firefox 3.5.19 detailed release notes can be found here.
...the system requirements for xulrunner are the same as the system requirements for
firefox.
XULRunner 1.9.2 Release Notes - Archive of obsolete content
xulrunner 1.9.2.x is built from the same source code snapshot as
firefox 3.6.x.
... current version the current version of xulrunner 1.9.2 is 3.6.26, matching
firefox 3.6.26 detailed release notes can be found here.
...the system requirements for xulrunner are the same as the system requirements for
firefox.
XULRunner 1.9 Release Notes - Archive of obsolete content
xulrunner 1.9 is built from the same source code snapshot as
firefox 3.
... current version the current version of xulrunner is 1.9.0.17, matching
firefox 3.0.17 detailed release notes can be found here.
...the system requirements for xulrunner are the same as the system requirements for
firefox.
Debugging a XULRunner Application - Archive of obsolete content
starting with xulrunner 24, you should use the
firefox browser debugger to debug your xulrunner apps.
...ols/dbg-server.jsm'); if (!debuggerserver.initialized) { debuggerserver.init(); debuggerserver.addbrowseractors(); debuggerserver.allowchromeprocess = true; } let dbglistener=debuggerserver.createlistener(); dbglistener.portorpath=6000; dbglistener.open(); add the following to your prefs.js: (in recent ffox, edit about:config instead) pref("devtools.debugger.remote-enabled", true); in
firefox, go to tools > web developer > connect...
... note the "new in
firefox 3" attribute "contentaccessible" on https://developer.mozilla.org/en/chrome_registration so as per http://markmail.org/message/ezbomhkw3bgqjllv#query:x-jsd+page:1+mid:xvlr7odilbyhn6v7+state:results change the manifest to have this line: content venkman jar:venkman.jar!/content/venkman/ contentaccessible=yes i get errors about not being able to open contentareautils.js, contentareadd.js, findut...
Mozprofile - Archive of obsolete content
mozprofile is a python tool for creating and managing profiles for mozilla's applications (
firefox, thunderbird, etc.).
...in addition, subclasses
firefoxprofile and thundebirdprofile are available with preset preferences for those applications.
...example: from mozprofile import
firefoxprofile # create new profile to pass to mozmill/mozrunner profile =
firefoxprofile(addons=["adblock.xpi"]) setting preferences preferences can be set in several ways: using the api: you can pass preferences in to the profile class's constructor: obj =
firefoxprofile(preferences=[("accessibility.typeaheadfind.flashbar", 0)]) using a json blob file: mozprofile --preferences myprefs.json using a .ini file: mozprofile --preferences myprefs.ini via the command line: mozprofile --pref key:value --pref key:value [...] when setting preferences from an .ini file or the --pref switch, the value will be interpolated as an integer or a boolean (true/false) if possible.
Format - Archive of obsolete content
summary: mozilla.dev.planning - july 17-23, 2006 announcements
firefox 2/gecko 1.8.1 bug approvals starting on friday july 21 at 10:00a pdt the release triage team will no longer be accepting bugs unless they meet one of the posted criteria.
...
firefox 1.5.0.5 planned release - 2006/07/26 discussions
firefox survey feedback requested rachel werner (mozilla corp marketing intern) requested feedback on a proposed user survey.
... meetings mozilla project weekly status meeting - 2006/07/24 1:00p pdt (last meeting notes)
firefox 2 (bon echo) status meeting - 2006/07/25 11:00a pdt (last meeting notes)
firefox 3 (gran paradiso) status meeting - 2006/07/26 11:00a pdt ...
2006-10-06 - Archive of obsolete content
summary: mozilla.dev.l10n - october 6, 2006 announcements english united states dictionary english united states dictionary for
firefox 2.
...
firefox 2 sign-off procedure localization team should begin intense qa as outlined here.
... discussions status update fx2 status update for
firefox 2.
2006-10-27 - Archive of obsolete content
update check failing in
firefox 2.0 if add-on type is 8 testing a custom update.rdf file for a langpack using the official version of
firefox 2.0 rc 3.
... alternative german locale while the alternative locale is active, the auto update of
firefox stops working.
... problem with belarusian
firefox 2 rc3 the broken message is displayed after user tries to visit non-existing site.
2006-07-17 - Archive of obsolete content
announcements s
firefox 2/gecko 1.8.1 bug approvals starting on friday july 21 at 10:00a pdt the release triage team will no longer be accepting bugs unless they meet one of the posted criteria.
...
firefox 1.5.0.5 planned release - 2006/07/26 discussions
firefox survey feedback requested rachel werner (mozilla corp marketing intern) requested feedback on a proposed user survey.
... meetings mozilla project weekly status meeting - 2006/07/24 1:00p pdt (last meeting notes)
firefox 2 (bon echo) status meeting - 2006/07/25 11:00a pdt (last meeting notes)
firefox 3 (gran paradiso) status meeting - 2006/07/26 11:00a pdt ...
2006-09-22 - Archive of obsolete content
announcements l10n
firefox 2.0 rc1 builds available paul reed announced the availability of
firefox 2 rc1 l10n builds 'major update' test paul reed made a test of the 'major update' feature available on sept.
... 22nd internal rc1 testing complete
firefox 2 internal rc1 testing concluded on sept.
... discussions discussion of l10n builds some discussion about the
firefox 2 rc1 l10n builds happened, including why some locales are missing.
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.
... extension compatibility for
firefox 2 chris hofmann reminds about the push to have extensions work with ff2.
...
firefox 1.5.0.8 andrew schultz asks about the gecko 1.8.0.8 schedule.
2006-11-03 - Archive of obsolete content
cross-product extension install improvements simon paquet points out how much easier it is to install an extension in
firefox than it in any other product.
... a discussion of how to get
firefox to be able to install extensions for other products (e.g.
... button in the upper right hand corner the removal of the
firefox home page button was purposeful, you can add that function by installing this.
2006-12-01 - Archive of obsolete content
windows dde shell integration removal robert strong announces that a long standing bug in
firefox's use of the windows dde shell integration code has been uncovered during vist os integration testing.
...
firefox's use of this code has been removed but the windows dde shell integration code has been kept so that 3rd party apps depending on this code can stay working.
...
firefox 1.5.0.9/2.0.0.1 update - we need help!
2006-10-06 - Archive of obsolete content
summary: mozilla.dev.quality - september 30-october 6, 2006 announcements
firefox 2 rc2 update - the minimum tests for rc2 are complete which includes smoke and bft tests.
... vista testers - needed to test
firefox and thunderbird in vista.
...
firefox 2 rc2 testing - tim riley announced the l10n builds were completed last night.
Updating an extension to support multiple Mozilla applications - Archive of obsolete content
we'll build upon the stock watcher extension created in earlier articles in this series, updating it so it can also be used in thunderbird and sunbird (previous versions worked only in
firefox).
...after inserting this code, you can successfully install the extension into any (or all) of
firefox, thunderbird, and sunbird, but you won't see any effect in thunderbird and sunbird.
...for
firefox, we overlaid onto browser.xul, which describes a
firefox browser window.
-moz-window-shadow - Archive of obsolete content
this property is not standard and from
firefox 44 onwards cannot be used on websites anymore.
...
firefox 3 added support for transparent windows on mac os x.
...in
firefox 3.5 the default changed, with all windows having a shadow.
Array comprehensions - Archive of obsolete content
the array comprehensions syntax is non-standard and removed starting with
firefox 58.
...obsolete since gecko 58 (
firefox 58 / thunderbird 58 / seamonkey 2.55)this feature is obsolete.
...however, it has been removed from the standard and the
firefox implementation.
Writing JavaScript for XHTML - Archive of obsolete content
(note that xhtml documents which behave correctly in both application/xhtml+xml and text/html environments are sometimes known as 'polyglot' documents.) to test the following examples locally, use
firefox's extension switch.
... solution: use the storage object with
firefox 2 there was a new feature enabled, the html 5 storage object.
... for completeness here is the accept field, that
firefox 2.0.0.9 sends with its requests: accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 further reading you will find several useful articles in the developer wiki: xml in mozilla dom xml introduction xml extras dom 2 methods you will need are: dom:document.createelementns dom:document.getelementsbytagnamens see also prope...
Troubleshooting XForms Forms - Archive of obsolete content
you either have to use css tables or repeat attributes, which at the moment are not working properly in the
firefox xforms extension :( should be fixed by bug 306247 and bug 280368 respectively.
...if you are developing on your local machine using apache tomcat for example then add the following regular expression on a new line: ^http://localhost:8080/.* use the xforms buddy to view instance data the xforms buddy extension allows you to dynamically view model instance data while the xforms is running in the
firefox browser.
... the home page for xfroms buddy is located at: xforms buddy using http proxy you can use the charles
firefox extension to view your http session data including http header data.
Mozilla XForms User Interface - Archive of obsolete content
currently xforms can be hosted by xhtml and xul in seamonkey and
firefox.
...if you see fx 3.0 only, that means that the control will only be available for
firefox 3.0 (gecko 1.9).
...the first is that the changes required for such controls could not be safely made to
firefox 1.5 or
firefox 2.0.
Mozilla's DOCTYPE sniffing - Archive of obsolete content
obsolete since gecko 2 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this feature is obsolete.
... this page describes behavior of the old html parser in
firefox 3.6 and older.
... it has been replaced by a new html 5 parser in
firefox 4 and newer.
Implementing controls using the Gamepad API - Game development
firefox 29+ and chrome 35+ support it out of the box.
...the code discussed in this article was tested with a few gamepads, but the author's favorite configuration is a wireless xbox 360 controller and the
firefox browser on mac os x.
...you can play the full version of the hungry fridge game directly in your browser, install it from the
firefox marketplace or check the source code of the demo along with all the other resources on the gamepad api content kit.
Efficient animation for web games - Game development
one of the goals for the puzzowl game is for it to be a solid 60fps on reasonable hardware (for the record, it’s almost there on galaxy nexus-class hardware) while still being playable on low-end devices (such as a
firefox os geeksphone keon).
...at this point, we turned to the
firefox javascript profiler, and this told us almost exactly what low-hanging-fruit was left to address to improve performance.
... as it turned out, the code from some of the things mentioned above; the animation code had some corner cases where redraws were happening several times per frame, and some of the animations caused
firefox to need to redraw everything (they were fine in other browsers, as it happens — that particular issue is now fixed).
Gonk - MDN Web Docs Glossary: Definitions of Web-related terms
gonk is the lower-level operating system of
firefox os and consists of a linux kernel (based on the android open source project (aosp)) and userspace hardware abstraction layer (hal).
...since
firefox os has full control over gonk, we can expose interfaces to gecko that aren't accessible on other operating systems, for example the full telephony stack and display frame buffer.
... learn more gonk page on the
firefox os zone ...
What is the difference between webpage, website, web server, and search engine? - Learn web development
we'll cover these terms and technologies in more detail as we explore further, but these quick definitions will be a great start for you: web page a document which can be displayed in a web browser such as
firefox, google chrome, opera, microsoft internet explorer or edge, or apple's safari.
...you can perform search engine searches directly in the address bar of
firefox, chrome, etc.) or through a web page (e.g.
... here is an instance of
firefox showing a google search box as its default startup page: next steps dig deeper: what is a web server see how web pages are linked into a web site: understanding links on the web ...
CSS property compatibility table for form controls - Learn web development
text-decoration partial[1] partial[1] only
firefox provides full support for this property.
... border-radius partial[1] partial[1] box-shadow no partial[1] note
firefox does not provide any way to change the down arrow on the <select> element.
... text-decoration no[1] no[1] only supported by
firefox and ie9+.
Define terms with HTML - Learn web development
i'm feeling blue but we're constantly defining keywords informally, as here:
firefox is the web browser created by the mozilla foundation.
...note that <dfn> tags go around the word to be defined, not the definition (the definition consists of the entire paragraph): <p><dfn>
firefox</dfn> is the web browser created by the mozilla foundation.</p> another use for bold is to emphasize content.
...if you want a more formal relationship, or your definition consists of only one sentence rather than the whole paragraph, you can use the aria-describedby attribute to associate a term more formally with its definition: <p> <span id="ff"> <dfn aria-describedby="ff">
firefox</dfn> is the web browser created by the mozilla foundation.
Properly configuring server MIME types - Learn web development
note: historically,
firefox has loaded css files even if they had the wrong mime type, as long as the html document that requested them was being processed in quirks mode.
... gecko 1.9.1.11 (
firefox 3.5.11) and gecko 1.9.2.5 (
firefox 3.6.5) also implement this security fix, but to improve compatibility, there was a temporary heuristic that allows the load if the first line in the style sheet appears to be a well-formed css construct; the heuristic has been removed in
firefox 4, and you have to properly set the text/css mime types to have your css pages recognized.
... how to determine the mime type sent by a server in
firefox, load the file and use tools | page info.
Continuous Integration
taskcluster generate binary builds for
firefox and
firefox for android across a variety of operating sytems.
... talos is used to execute several suites for desktop
firefox and
firefox for android; these suites are denoted using lower-case letters, e.g., t(c d g1 o s tp).
... games benchmarking (
firefox) under development, the games benchmarking harness (aka mozbench) will allow a number of games-related benchmarks to be run against
firefox and chrome.
Cookies Preferences in Mozilla
these preferences apply to most mozilla products (including
firefox and seamonkey), however they are application-specific, so not all of them may apply to you.
... the default values given are for
firefox 3.
...fault 1 = only accept from the originating site (block third party cookies) 2 = block all cookies by default 3 = use p3p settings (note: this is only applicable to older mozilla suite and seamonkey versions.) 4 = storage access policy: block cookies from trackers network.cookie.lifetimepolicy default value: 0 0 = accept cookies normally 1 = prompt for each cookie (prompting was removed in
firefox 44) 2 = accept for current session only 3 = accept for n days network.cookie.lifetime.days default value: 90 only used if network.cookie.lifetimepolicy is set to 3 sets the number of days that the lifetime of cookies should be limited to.
Creating reftest-based unit tests
to run all the reftests, go to the directory where you save
firefox's source code and run: ./mach reftest if you want to run a particular set of reftests, pass the path as an argument: ./mach reftest path/from/sourcedir/reftest.list and to run a single reftest just pass the path to the test file (not the reference file): ./mach reftest path/from/sourcedir/reftest-name.html there is no reftest equivalent to mach mochitest --keep-open, but temporarily addin...
...create a directory (inside
firefox's source code tree) and make that your current directory (i.e.
...lowing: <html><head><title>reftest0001</title> <body><strong>hello!</strong></body> </html> step 4 create a file named bar.html with the following: <html><head><title>reftest0001</title> <body><b>hello!</b></body> </html> step 5 create a file named reftest.list with the following: == foo.html bar.html you are now ready to run the test (but first you must go back to the root of
firefox's source code tree): $ ./mach reftest path/to/reftest.list 2>&1 | grep reftest reftest pass: file:///users/ray/mozilla-central/path/to/foo.html $ congratulations!
Displaying Places information using views
if you would like your tree view to be styled in the same manner that
firefox styles its uses of the view, you should include the following stylesheet.
... in
firefox 3.6 and earlier requires gecko 1.9.2(
firefox 3.6 / thunderbird 3.1 / fennec 1.0) create a built-in menu view by setting the type attribute to "places" on an empty menupopup element (which would be a child of some parent menu element): <menu> <menupopup type="places" /> </menu> the place attribute or property should be set on the menupopup as well.
... in
firefox 4 and later requires gecko 2.0(
firefox 4 / thunderbird 3.3 / seamonkey 2.1) you can add places information to a popup like this: <menu id="bookmarksmenu"> <menupopup placespopup="true"> onpopupshowing="if (!document.getelementbyid('bookmarksmenu')._placesview) new placesmenu(event, 'place:folder=bookmarks_menu');" </menupopup> </menu> the menu view is implemented in browser/components/places/content/menu.xml.
Linux compatibility matrix
the following table lists the available library versions for the mozilla.org-distributed
firefox builds dependencies, and/or to build
firefox.
... distribution kernel glibc glib gtk+2 gtk+3 pixman stdc++ gcc clang python3 released eol notes red backgrounds denote lack of compatibility with current versions of
firefox.
... the table is generated with the script and data in https://github.com/glandium/
firefox-linux-compat-matrix ...
Browser API
it currently works in (privileged) chrome code on
firefox desktop (version 47 and above).
... browser api methods removed in
firefox 65 in
firefox 65, several of the mozilla browser api methods were removed in an effort to cut down on domrequest usage in the browser, and remove the parts of the browser api that are no longer needed (it is used only by the
firefox devtools at this point).
... the methods removed in
firefox 65 are: htmliframeelement.addnextpaintlistener() defines a handler to listen for the next mozafterpaint event in the browser <iframe>.
CSS <display-xul> component
firefox supports the following -moz- prefixed xul display values: syntax -moz-box obsolete since gecko 64 xul box, mostly equivalent to flex -moz-inline-box obsolete since gecko 64 xul inline box, mostly equivalent to inline-flex -moz-grid obsolete since gecko 62 xul grid -moz-inline-grid obsolete since gecko 62 xul inline grid -moz-grid-group obsolete since gecko 62 xul grid group -moz-grid-line obsolete since gecko 62 xul grid line -moz-stack obsolete since gecko 62 xul stack -moz-inline-stack obsolete since gecko 62 xul inline stack -moz-deck obsolete since gecko 62 xul deck -moz-popup obsolete since gecko 62 xul popup all xul display values, with the exception of -moz-box and -moz-inline-box, have been removed in bug 1288572.
... see this
firefox site compatibility post for more details.
...see this
firefox site compatibility post for more details.
AsyncShutdown.jsm
firefox shutdown is composed of phases that take place sequentially.
...if, for some reason, promise is never resolved/rejected,
firefox will crash during shutdown to avoid blocking system shutdown, preventing the user from restarting
firefox or burning through a battery.
... // execute this code during profilebeforechange // no specific guarantee about completion of profilebeforechange }); if the promise returned by condition is not resolved/rejected within one minute, the process will crash to avoid blocking system shutdown, preventing the user from restarting
firefox or burning through battery.
DeferredTask.jsm
firefox 28 note interface was changed in
firefox 28, and old methods were removed.
... the deferredtask constructor requires gecko 18.0(
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15) if you have a function call you want to defer for two seconds, you can do so using the deferredtask constructor, like this: var task = new deferredtask(myfunction, 2000); you can also pass a generator function as the first argument of constructor.
... promise finalize(); example
firefox 28 note this section describes about deferredtask.jsm in
firefox 28.0 or higher.
PopupNotifications.jsm
note: this code module is imported by
firefox chrome windows, so you don't have to do it yourself in most extensions.
... note: you shouldn't need to call this when using the popupnotifications object in
firefox windows;
firefox code takes care of this automatically.
...this anchorid must point to an element contained inside the popupnotification object's icon box (for
firefox windows, the global popupnotifications object uses the notification-popup-box element).
Localizing without a specialized tool
this will be your guide to localize
firefox.
...(strings in the dtd files are called "entities".) "manage search engines..." can easily be found in the
firefox browser ui by clicking on the drop-down arrow in the search box in the upper-right corner of your browser.
... the localization phase lists (
firefox 3.5: ff35.phaselist,
firefox 3.6: ff36.phaselist).
QA phase
in order to see your work on
firefox (or another mozilla application), you'll need to have a built language pack to install on your local instance.
...o trees you should: remove ac_add_options --disable-compile-environment from .mozconfig in step 3 use ./mach build config after step 4 update the mozilla source code: $ cd mozilla-aurora $ hg pull -u enter the following command to create the .mozconfig file: $ nano -w .mozconfig enter the following lines in your .mozconfig file: mk_add_options moz_objdir=@topsrcdir@/../
firefox-build ac_add_options --disable-compile-environment ac_add_options --with-l10n-base=../l10n-central # path relative to moz_objdir ac_add_options --enable-application=[browser or mail] you will need to specify which application you're localizing in the fourth line (e.g., for
firefox, that's browser, thunderbird would be mail).
... enter the following command to perform the configuration: $ ./mach configure once your command-line finishes spitting out the config command's output, navigate to the newly created directory: $ cd ../
firefox-build/browser/locales now you're ready to build!
Localization technical reviews
no utf-7 in the intl.properties file
firefox no longer has a utf-7 parser.
...for more info about utf-7 in
firefox, see bug 441876.
... inspect
firefox-l10n.js we ensure that there are no odd preferences, or #filter substitutions for general.useragent.locale.
MathML Accessibility in Mozilla
we started exposing generic accessible objects for mathml in bug 920547 and so these can be retrieved by nvda starting with gecko 27.0 (
firefox 27.0 / thunderbird 27.0 / seamonkey 2.24).
...hence basic support is available in gecko 41.0 (
firefox 41.0 / thunderbird 41.0 / seamonkey 2.38) and we are still trying to keep in sync with webkit/voiceover.
... accessfu: mathml support in android and
firefox os is currently being implemented in our accessfu module and a patch is available on bug 1163374.
Mozilla Web Developer FAQ
this document answers questions that web authors ask frequently specifically in connection with
firefox and other gecko-based browsers.
... downloadable fonts in truetype and opentype formats (.ttf and .otf) are supported since
firefox 3.5.
... in versions prior to gecko 1.9/
firefox 3, the document is not loaded and rendered incrementally.
Gecko Profiler FAQ
profiler.
firefox.com does not have a comparison view at the moment.
... if the issue you are trying to avoid is not profiling on fast machines that mozilla developers typically use to build
firefox on, a better solution may be using a less high-end machine that actually has lower spec’d hardware instead of artificially slowing down just the cpu.
... how do we profile "leaks" that show up after running
firefox for > 40 mins?
reader.parse-on-load.force-enabled
the preference reader.parse-on-load.force-enabled controls if the reader mode used in
firefox mobile should be enabled independent of the memory available in the device.
... by default, the reader mode in
firefox mobile is only enabled if the memory is greater than 384mb.
... type:boolean default value: false exists by default: yes application support:
firefox mobile 23.0 status: active; last updated 2013-05-11 introduction: pushed to nightly on 2013-05-06 bugs: bug 867875 values true reader mode is enabled independent of memory available.
Hacking Tips
this is because
firefox doesn't allow loading files from the harddisk using httprequest, even when the file loading the file is on the harddisk.
... dumping the javascript heap from the shell, you can call the dumpheap before
firefox function to dump out all gc things (reachable and unreachable) that are present in the heap.
...in case of the js shell we might also want to set the amount of memory available to change the gc settings as if we were running on a
firefox os device.
JSAPI User Guide
for example, the
firefox browser uses its own global object, window.
... deploy security updates -
firefox automatically installs updates, so security fixes are deployed as soon as they are available.
...for example, the
firefox browser has a complex and powerful security model.
Split object
firefox has to maintain this for web compatibility.
...this makes the problem resistant to a wrapper-based approach.) older versions of
firefox accomplished this by blowing away all window properties every time a user navigated to another page, then reusing the window.
...circa
firefox 1.5, the decision was made to cache layout information and javascript state across navigation.
Browser security
an important aspect of developing code for any browser, including
firefox, as well as any web-oriented project, is its security.
... exploitable, find crashes which are exploitable, and to fix exploitable crashes.handling mozilla security bugsthis document describes how the new security organizational structure will work, and how security-related mozilla bug reports will be handled.pinning violation reportsif a site makes use of key pinning, and your browser sees a certificate chain for that site which does not match the pin,
firefox will reject the connection and display an error page.
... secure development guidelinesthe following content will likely see significant revision, though can be used as a reference for security best practices to follow when developing code for mozilla.security and the jar protocolthis article discusses security concerns with the jar: protocol, which only
firefox has ever implemented for web content.
Signing Mozilla apps for Mac OS X
firefox and thunderbird releases are both signed before shipping; this article describes the process.
... signing mozilla apps without the signing server
firefox and thunderbird are built using mozilla's release automation infrastructure.
... the coderesources file used to sign official
firefox and thunderbird builds is available in mozilla-central.
Places utilities for JavaScript
utils.js is accessible at the following url: http://mxr.mozilla.org/mozilla-centr...ntent/utils.js this file includes utility functions used by a lot of the bookmarking, tagging, and annotation services that are built into
firefox.
... warning : placesutils class since
firefox 3 beta 5 has been split into: placesutils: can be used in any toolkit application placesuiutils: only in
firefox placesutils this is a gigantic object full of usefulness if you need to do any bookmark work from within browser.xul.
...information like keywords, descriptions, and post data is already stored as annotations by
firefox, but you can create additional ones.
extIApplication
implemented via xpcom service for extiapplication: see the instructions on the fuel (
firefox), steel (thunderbird) and smile (seamonkey) pages.
...supports: "load", "ready", "quit", "unload" the following interfaces are only available to
firefox: attribute type description bookmarks readonly attribute fuelibookmarkroots the root bookmarks object for the application.
...the object needs to be accessed like any other xpcom service: var application = components.classes["@mozilla.org/fuel/application;1"].getservice(components.interfaces.fueliapplication); see also fuel (
firefox), steel (thunderbird) and smile (seamonkey) ...
Generating GUIDs
guids are used in mozilla programming for identifying several types of entities, including xpcom interfaces (this type of guids is callled iid), components (cid), and legacy add-ons—like extensions and themes—that were created prior to
firefox 1.5.
... add-ons can (and should) be identified with ids of the form extensionname@organization.tld since
firefox 1.5.
... online tools generate guid online uuid (guid) generator on the web uuid generator for mozilla code (both idl and c++.h forms) you can get a guid from one of the bots (such as botbot, firebot) on #
firefox irc channel by /msging "uuid" to them.
mozIVisitInfoCallback
toolkit/components/places/public/moziasynchistory.idlscriptable this interface provides callback handling functionality for moziasynchistory.updateplaces() 1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) method overview void handleerror(in nsresult aresultcode, in moziplaceinfo aplaceinfo); void handleresult(in moziplaceinfo aplaceinfo); void oncomplete(in nsresult aresultcode, in moziplaceinfo aplaceinfo);obsolete since gecko 8.0 methods handleerror() called when a moziplaceinfo couldn't be processed.
... oncomplete() obsolete since gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) called for each visit added, title change, or guid change when passed to moziasynchistory.updateplaces().
... notes this method was replaced by the separate handleresult() and handleerror() methods in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5).
nsIAccessibleDocument
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) you can queryinterface to nsiaccessibledocument from the nsiaccessible or nsiaccessnode for the root node of a document.
... methods getaccessibleinparentchain() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) returns the first accessible parent of a dom node.
... native code only!getcachedaccessnode obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
nsIAccessibleHyperLink
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview nsiaccessible getanchor(in long index); note: renamed from getobject in gecko 1.9 nsiuri geturi(in long index); boolean isselected(); obsolete since gecko 1.9 boolean isvalid(); obsolete since gecko 1.9 attributes attribute type description anchorcount long the number of anchors within this hyperlink.
... isselected() obsolete since gecko 1.9 (
firefox 3) note: has been replaced by the selected attribute.
... isvalid() obsolete since gecko 1.9 (
firefox 3) note: has been replaced by the valid attribute.
nsIAccessibleText
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void addselection(in long startoffset, in long endoffset); nsiaccessible getattributerange(in long offset, out long rangestartoffset, out long rangeendoffset); obsolete since gecko 1.9.1 wchar getcharacteratoffset(in long offset); void getcharacterextents(in long offset, out long x, out long y, out long width, out long height, in unsigned long coordtype); long getoffsetatpoint(in long x, in long y, in unsigned long coordtype); void getrangeextents(in long startoffset, in long endoffset, out long x, out long y, out long width, out long height, in unsigned long coordt...
... boundary_line_start 5 boundary_line_end 6 boundary_attribute_range 7 coordinate type constants obsolete since gecko 1.9 (
firefox 3)this feature is obsolete.
... constant value description coord_type_screen 0 coord_type_window 1 methods addselection() void addselection( in long startoffset, in long endoffset ); parameters startoffset endoffset getattributerange() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) get the accessible and start/end offsets around the given offset.
nsIClipboard
inherits from: nsisupports last changed in gecko 30.0 (
firefox 30.0 / thunderbird 30.0 / seamonkey 2.27) method overview void emptyclipboard(in long awhichclipboard); void forcedatatoclipboard(in long awhichclipboard); obsolete since gecko 1.8 void getdata(in nsitransferable atransferable, in long awhichclipboard); boolean hasdatamatchingflavors([array, size_is(alength)] in string aflavorlist, in unsigned long alength, in long awhichclipboard); void setdata(in nsitransferable atransferable, in nsiclipboardowner anowner, in long awhichclipboard); boolean supportssel...
...ectionclipboard(); boolean supportsfindclipboard(); constants most clipboard operations in
firefox use kglobalclipboard, which is the one also used by the typical control-c/control-v keyboard shortcuts.
... 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.
nsIConsoleService
xpcom/base/nsiconsoleservice.idlscriptable the console service is the back-end for the error console, bundled with every mozilla application, and for
firefox's web console and browser console.
... inherits from: nsisupports last changed in gecko 19 (
firefox 19 / thunderbird 19 / seamonkey 2.16) implemented by: @mozilla.org/consoleservice;1 as a service: var consoleservice = components.classes["@mozilla.org/consoleservice;1"] .getservice(components.interfaces.nsiconsoleservice); method overview void getmessagearray([array, size_is(count)] out nsiconsolemessage messages, out uint32_t count);obsolete since gecko 19 void getmessagearray([optional] out uint32_t count, [retval, array, size_is(count)] out nsiconsolemessage messages); void logmessage(in nsiconsolemessage message); void logstringmessage(in wstring message); void registerl...
... obsolete since gecko 19 (
firefox 19 / thunderbird 19 / seamonkey 2.16)this feature is obsolete.
nsIDNSService
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) implemented by: @mozilla.org/network/dns-service;1.
... init() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) called to initialize the dns service.
... shutdown() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) called to shutdown the dns service.
nsIDOMOfflineResourceList
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports method overview void mozadd(in domstring uri); boolean mozhasitem(in domstring uri); domstring mozitem(in unsigned long index); void mozremove(in domstring uri); void swapcache(); void update(); attributes attribute type description mozitems ...
... note: this method is deprecated in
firefox 3.5; you should instead access the list directly using the items attribute.
... see also offline resources in
firefox nsiapplicationcache nsiapplicationcachecontainer nsiapplicationcacheservice nsiapplicationcachechannel nsiapplicationcachenamespace ...
nsIDownloadProgressListener
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) to use simply implement this interface in your code, then call nsidownloadmanager.addlistener() to start listening.
... onlocationchange() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) void onlocationchange( in nsiwebprogress awebprogress, in nsirequest arequest, in nsiuri alocation, in nsidownload adownload ); parameters awebprogress the nsiwebprogress instance used by the download manager to monitor downloads.
... onstatuschange() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) called when the status of a download request has changed.
nsIEffectiveTLDService
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/network/effective-tld-service;1.
...the tld space is currently expanding at a fairly great rate, and the copy of the psl
firefox has may not be totally up to date (because it's not dynamically updated data).
... remarks note: prior to gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), this method worked if you passed host strings starting with a period (".").
nsIJSON
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) note: this interface may only be used from javascript code, with the exception of the legacydecodetojsval() method.
...deprecated since gecko 2.0 methods decode() obsolete since gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) decodes a json string, returning the javascript object it represents.
... encode() obsolete since gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) encodes a javascript object into a json string.
nsIMemoryReporter
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) any piece of code that wishes to allow its memory use to be monitored may create an nsimemoryreporter object and then register it by calling nsimemoryreportermanager.registerreporter().
... note: this attribute was called memoryused prior to gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4), and its type was long long.
... unit type constants requires gecko 7.0(
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) the amount reported by a memory reporter may use one of the following units.
nsINavHistoryObserver
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 21.0 (
firefox 21.0 / thunderbird 21.0 / seamonkey 2.18) warning: if you are in the middle of a batch transaction, there may be a database transaction active.
... methods onbeforedeleteuri() obsolete since gecko 21.0 (
firefox 21.0 / thunderbird 21.0 / seamonkey 2.18) note: this method was removed in gecko 21.0 as part of bug 826409.
... onpageexpired() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: this method was removed in gecko 2.0.
nsIPrincipal
inherits from: nsiserializable last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) for details on principals, how they work, and how to get the appropriate one, see security check basics.
... note: prior to gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), this was not available to scripts.
... note: prior to gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), this was not available to scripts.
nsIPrivateBrowsingService
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface is deprecated since
firefox 20, and will probably be completely removed in
firefox 21.
... the nsiprivatebrowsingservice interface provides access to information about the state of the private browsing feature offered in
firefox 3.5 and later.
... when
firefox is in private browsing mode,
firefox shouldn't save any potentially private information.
nsISelectionPrivate
inherits from: nsisupports last changed in gecko 35 (
firefox 35 / thunderbird 35 / seamonkey 2.32) warning: the content of this article may be out of date.
... native code only!getrangesforintervalcomarray obsolete since gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9)this feature is obsolete.
... this method became obsolete in gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9).
nsISmsRequestManager
nsismsrequestmanager dom/sms/interfaces/nsismsrequestmanager.idlscriptable used to manage sms related requests and notifications for the websms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/sms/smsrequestmanager;1.
... notifymarkedmessageread() requires gecko 15.0(
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) void notifymarkedmessageread( in long arequestid in bool aread ); parameters arequestid a number representing the id of the request.
... notifymarkmessagereadfailed() requires gecko 15.0(
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) void notifymarkmessagereadfailed( in long arequestid in long aerror ); parameters arequestid a number representing the id of the request.
nsISocketTransportService
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/network/socket-transport-service;1.
... init() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void init(); parameters none.
... shutdown() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void shutdown(); parameters none.
nsIToolkitProfileService
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) note: starting in gecko 1.9.1, this service is implemented by @mozilla.org/toolkit/profile-service;1.
...to access the built-in profile manager in versions of
firefox up to 4.0 and thunderbird up to 3.3 you can launch with the -profilemanager command line flag.
...os.file is available from gecko 18 (
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15).
nsIWinAppHelper
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) implemented by: @mozilla.org/xre/app-info;1.
... methods fixreg() obsolete since gecko 1.9 (
firefox 3) invokes helper.exe with the /fixreg parameter.
... postupdate() obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) invokes helper.exe with the /postupdate parameter.
XSLT 2.0
although xslt 2.0 is not natively supported in
firefox, it is possible via saxon-b (java) or, more recently, saxon-ce (javascript) to perform xslt 2.0.
... saxon-b the xsl results extension uses the new incarnation of liveconnect (handled by java 1.6v12+ instead of mozilla-specific code) to connect with the java-based saxon-b library, and adds support for having xslt performed automatically when visiting a page with the appropriate xslt processing instruction (and which isn't processed by
firefox's own xslt 1.0 processor).
...error and diagnostics output from saxon-ce can be reviewed in the
firefox developer console or in firebug.
Mozilla technologies
at the moment, the transition from webshell to docshell is not fully completed, but the long-term goal is to remove webshell and switch over entirely to docshell.embedded dialog apifeed content access api
firefox 2 and thunderbird 2 introduce a series of interfaces that make it easy for extension authors to access rss and atom feeds.life after xul: building
firefox interfaces with htmlthis page gathers technical solutions to common problems encountered by teams shipping html-based interfaces inside
firefox.morkmork is a database file format invented by david mccusker for the mozilla code since the origina...
...starting with mozilla 1.9, it was phased out in favor of sqlite, a more widely-supported file format.placesplaces is the bookmarks and history management system introduced in
firefox 3.
...it has multiple language bindings, allowing xpcom components to be used and implemented in javascript, java, and python in addition to c++.xpidlxpidl is an interface description language used to specify xpcom interface classes.xray visiongecko runs javascript from a variety of different sources and at a variety of different privilege levels.xslt 2.0although xslt 2.0 is not natively supported in
firefox, it is possible via saxon-b (java) or, more recently, saxon-ce (javascript) to perform xslt 2.0.xtfthe extensible tag framework (xtf) allows adding support for new namespaces using xpcom components to mozilla (written in javascript or c++).
Testing Mozilla code
asan nightly projectthe asan nightly project involves building a
firefox nightly browser with the popular addresssanitizer tool and enhancing it with remote crash reporting capabilities for any errors detected.clang static analysisthis document is split in two parts.
... the first part will focus on the modern and robust way of static-analysis and the second part will present the build-time static-analysis.debugging mozilla with valgrindthis page describes how to use valgrind (specifically, its memcheck tool) to find memory errors.
firefox and address sanitizeraddress sanitizer (asan) is a fast memory error detector that detects use-after-free and out-of-bound bugs in c/c++ programs.
... fuzzing interfacethe fuzzing interface is glue code living in mozilla-central in order to make it easier for developers and security researchers to test c/c++ code with either libfuzzer or afl-fuzz.measuring code coverage on
firefoxcode coverage essentially is about measuring how often certain lines are hit, branches taken or conditions met in a program, given some test that you run on it.
Building a Thunderbird extension 1: introduction
it shares many of the technologies used by mozilla
firefox, including javascript, the gecko layout engine, the xul xml user interface language and the xpcom cross-platform component object model.
... similar to
firefox, thunderbird functionality can be enhanced and customized via extensions.
... documentation thunderbird extensions (documentation overview)
firefox addons developer guide (many topics are applicable to thunderbird) mozilla cross-reference source code browser ("comm-central" contains the thunderbird code repository) community the thunderbird development community has a mailing list with an extensive searchable archive with an extensive searchable archive.
CData
ll see a null char // i tried getting known_len from stringptr but its not possible, it has be known, i tried this: //"stringptr.contents.tostring()" "95" //"stringptr.tostring()" "ctypes.unsigned_char.ptr(ctypes.uint64("0x7f73d5c87650"))" // so as we see neither of these is 77, this is for the example of "_scratchpad/entehandle.js at master · noitidart/_scratchpad mdn
firefox" // tries to do read string on stringptr, if it fails then it falls to read as jschar var readjscharstring = function() { var assumption_max_len = known_len ?
....array(assumption_max_len).ptr).contents; // must cast to unsigned char (not ctypes.jschar, or ctypes.char) as otherwise i dont get foreign characters, as they are got as negative values, and i should read till i find a 0 which is null terminator which will have unsigned_char code of 0 // can test this by reading a string like this: "_scratchpad/entehandle.js at master · noitidart/_scratchpad mdn
firefox" at js array position 36 (so 37 if count from 1), we see 183, and at 77 we see char code of 0 if casted to unsigned_char, if casted to char we see -73 at pos 36 but pos 77 still 0, if casted to jschar we see chineese characters in all spots expect spaces even null terminator is a chineese character console.info('ptrasarr.length:', ptrasarr.length); //console.log('debug-msg :: data...
...casted:', datacasted, uneval(datacasted), datacasted.tostring()); var charcode = []; var fromcharcode = [] for (var i=0; i<ptrasarr.length; i++) { //if known_len is correct, then will not hit null terminator so like in example of "_scratchpad/entehandle.js at master · noitidart/_scratchpad mdn
firefox" if you pass length of 77, then null term will not get hit by this loop as null term is at pos 77 and we go till `< known_len` var thisunsignedcharcode = ptrasarr.addressofelement(i).contents; if (thisunsignedcharcode == 0) { // reached null terminator, break console.log('reached null terminator, at pos: ', i); break; } charcode.push(thisunsignedcharcode); fromcharcode.
Flash Activation: Browser Comparison - Plugins
mozilla
firefox google chrome microsoft edge setting name ask to activate html5 by default click-to-run 'application/x-shockwave-flash' in navigator.mimetypes by default when flash is inactive yes no no 'application/x-shockwave-flash' in navigator.mimetypes when user enables flash yes yes yes <object> with fallback content triggers ui ye...
...the
firefox flash roadmap includes links to roadmaps and posts from other vendors.
... ui comparison mozilla
firefox in-page ui is displayed when the site attempts to use flash.
Animation.currentTime - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 animation.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in
firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
Animation.startTime - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 animation.starttime; // 23.404 // 24.192 // 25.514 // ...
... in
firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
AnimationPlaybackEvent.currentTime - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 playbackevent.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in
firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
AnimationTimeline.currentTime - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 animationtimeline.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in
firefox, you can also enable privacy.resistfingerprinting; the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
AudioBuffer() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetaudiobuffer() constructorchrome full support 55notes full support 55notes notes the context parameter was supported up until version 57, but has now been removed.edge ...
...full support ≤79
firefox full support 53ie no support noopera full support 42notes full support 42notes notes the context parameter was supported up until version 44, but has now been removed.safari ?
... 55notes full support 55notes notes the context parameter was supported up until version 57, but has now been removed.chrome android full support 55notes full support 55notes notes the context parameter was supported up until version 57, but has now been removed.
firefox android full support 53opera android full support 42notes full support 42notes notes the context parameter was supported up until version 44, but has now been removed.safari ios ?
AudioBufferSourceNode.AudioBufferSourceNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetaudiobuffersourcenode() constructorchrome full support 55notes full support 55notes notes before version 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 55notes full support 55notes notes before version 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before version 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
AudioParam.cancelAndHoldAtTime() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcancelandholdattimechrome full support 57 full support 57 no support ?
... — 56alternate name alternate name uses the non-standard name: cancelvaluesandholdattime()edge full support ≤79
firefox no support noie no support noopera full support 44 full support 44 no support ?
...— 56alternate name alternate name uses the non-standard name: cancelvaluesandholdattime()
firefox android no support noopera android full support 43 full support 43 no support ?
BaseAudioContext.currentTime - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 audioctx.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in
firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
BiquadFilterNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbiquadfilternode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42notes full support 42notes notes before opera 46, the default values were not supported.safari ?
... full support 55notes full support 55notes notes before version 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before chrome 59, the default values were not supported.
firefox android full support 53opera android full support 42notes full support 42notes notes before opera 46, the default values were not supported.safari ios ?
characteristic - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcharacteristic experimentalchrome full support 57notes full support 57notes notes macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support 44notes full support 44notes notes macos only.
... full support 57notes notes windows 10.safari no support nowebview android no support nochrome android full support 57
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 7.0legend full support full support ...
readValue() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadvalue experimentalchrome full support 57notes full support 57notes notes macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support 44notes full support 44notes notes macos only.
... full support 57notes notes windows 10.safari no support nowebview android no support nochrome android full support 57
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 7.0legend full support full support ...
uuid - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetuuid experimentalchrome full support 57notes full support 57notes notes macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support 44notes full support 44notes notes macos only.
... full support 57notes notes windows 10.safari no support nowebview android no support nochrome android full support 57
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 7.0legend full support full support ...
value - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetvalue experimentalchrome full support 57notes full support 57notes notes macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support 44notes full support 44notes notes macos only.
... full support 57notes notes windows 10.safari no support nowebview android no support nochrome android full support 57
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 7.0legend full support full support ...
writeValue() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwritevalue experimentalchrome full support 57notes full support 57notes notes macos only.
... full support ≤79notes notes windows 10.
firefox no support noie no support noopera full support 44notes full support 44notes notes macos only.
... full support 57notes notes windows 10.safari no support nowebview android no support nochrome android full support 57
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 7.0legend full support full support ...
A basic ray-caster - Web APIs
after realizing, to my delight, that the nifty <canvas> element i'd been reading about was not only soon to be supported in
firefox, but was already supported in the current version of safari, i had to try a little experiment.
...
firefox 1.5 beta 1 is even faster; i can run 320 x 240 at 24 fps with 4 pixel slivers.
... so there you are, fire up safari 1.3+ or
firefox 1.5+ or some other browser that supports the <canvas> element and enjoy!
DataTransferItem.webkitGetAsEntry() - Web APIs
this function is implemented as webkitgetasentry() in non-webkit browsers including
firefox at this time; it may be renamed to simply getasentry() in the future, so you should code defensively, looking for both.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwebkitgetasentrychrome full support 13edge full support 14
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android no support nochrome android full support yes
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no support ...
DelayNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdelaynode() constructorchrome full support 55notes full support 55notes notes before version 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 55notes full support 55notes notes before version 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before version 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
DirectoryReaderSync - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdirectoryreadersync non-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 79prefixed full support 79prefixed prefixed implemented with the vendor prefix: webkit
firefox no support noie no support noopera no support nosafari no support nowebview android full support 37prefixed full support 37prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 18prefixed full support 18prefixed prefixed implemented with the vendor pref...
...ix: webkit
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportnon-standard.
Document.importNode() - Web APIs
with gecko 28.0 (
firefox 28 / thunderbird 28 / seamonkey 2.25 /
firefox os 1.3), the console warns developers not to omit the argument.
... starting with gecko 29.0 (
firefox 29 / thunderbird 29 / seamonkey 2.26)), a shallow clone is defaulted instead of a deep clone.
... best practice: although
firefox doesn't currently enforce this rule, we encourage you to follow this rule for improved future compatibility.
Document.requestStorageAccess() - Web APIs
assuming all of the requirements above are satisfied,
firefox will automatically grant storage access to the requesting origin on up to a threshold number of first-party origins in the current session for the duration of user’s session, up to a maximum of 24 hours.
... debugging the storage access grant threshold may make it more difficult to test your website under the condition where
firefox prompts the user for access.
...for example, if you want to configure
firefox to automatically grant access on the first site where requeststorageaccess() is called and then prompt afterwards, you should adjust the value of the dom.storage_access.max_concurrent_auto_grants preference to 1.
Document.xmlEncoding - Web APIs
obsolete since gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7)this feature is obsolete.
... warning: do not use this attribute; it has been removed from the dom level 4 specification and is no longer supported in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7).
... however,
firefox 3.0 includes information on endianness (e.g., utf-16be for big endian encoding), and while this extra information is removed as of
firefox 3.1b3,
firefox 3.1b3 is still consulting the file's encoding, rather than the xml declaration as the spec defines it ("an attribute specifying, as part of the xml declaration, the encoding of this document.").
DocumentOrShadowRoot.getSelection() - Web APIs
it is worth noting that currently getselection() doesn't work on the content of <input> elements in
firefox.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetselection experimentalchrome full support 53edge full support 12
firefox full support 63ie full support ...
... yesopera full support 40safari full support yeswebview android full support 53chrome android full support 53
firefox android full support 63opera android full support 41safari ios full support yessamsung internet android full support 6.0legend full support full supportexperimental.
DynamicsCompressorNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdynamicscompressornode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 55notes full support 55notes notes before version 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before chrome 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
Element.scroll() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrollchrome full support 45edge full support 79
firefox full support 36ie no support noopera ...
... full support 32safari full support 10webview android full support 45chrome android full support 45
firefox android full support 36opera android full support 32safari ios no support nosamsung internet android full support 5.0scrolltooptions parameterchrome full support 45edge full support 79
firefox full support ye...
...sie no support noopera full support 32safari no support nowebview android full support 45chrome android full support 45
firefox android full support yesopera android full support 32safari ios no support nosamsung internet android full support 5.0legend full support full support no support ...
Element.scrollTo() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrolltochrome full support 45edge full support 79
firefox full support 36ie no support noopera...
... full support 32safari full support 10webview android full support 45chrome android full support 45
firefox android full support 36opera android full support 32safari ios no support nosamsung internet android full support 5.0scrolltooptions parameterchrome full support 45edge full support 79
firefox full support ...
...yesie no support noopera full support 32safari no support nowebview android full support 45chrome android full support 45
firefox android full support yesopera android full support 32safari ios no support nosamsung internet android full support 5.0legend full support full support no support ...
Event.initEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetinitevent deprecatedchrome full support yesedge full support 12
firefox full support 17 full support ...
...— 17notes notes before
firefox 17, a call to this method after the dispatching of the event raised an exception instead of doing nothing.ie full support yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 17 full support 17 no support ?
... — 17notes notes before
firefox 17, a call to this method after the dispatching of the event raised an exception instead of doing nothing.opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full supportdeprecated.
Event.timeStamp - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 event.timestamp; // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in
firefox, if you also enable privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
EventTarget.addEventListener() - Web APIs
available only in code running in xbl or in the chrome of the
firefox browser.
... wantsuntrusted a
firefox (gecko)-specific parameter.
... to prevent this problem, some browsers (specifically, chrome and
firefox) have changed the default value of the passive option to true for the touchstart and touchmove events on the document-level nodes window, document, and document.body.
Using files from web applications - Web APIs
consider this html: <input type="file" id="fileelem" multiple accept="image/*" class="visually-hidden"> <label for="fileelem">select some files</label> and this css: .visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); } /* separate rule for compatibility, :focus-within is required on modern
firefox and chrome */ input.visually-hidden:focus + label { outline: thin dotted; } input.visually-hidden:focus-within + label { outline: thin dotted; } there is no need to add javascript code to call fileelem.click().
...(as of time of writing,
firefox doesn’t show this visual cue for <input type="file"> elements.) selecting files using drag and drop you can also let the user drag and drop files into your web application.
... in
firefox, to have the pdf appear embedded in the iframe (rather than proposed as a downloaded file), the preference pdfjs.disabled must be set to false .
File.lastModified - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 somefile.lastmodified; // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in
firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
File.lastModifiedDate - Web APIs
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 somefile.lastmodifieddate.gettime(); // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in
firefox, you can also enable privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
FileEntrySync - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfileentrysync non-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox no support noie no support noopera no support nosafari no support nowebview android full support 37prefixed full support 37prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 18prefixed full support 18prefixed prefixed implemented with the vendor pref...
...ix: webkit
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportnon-standard.
FileSystemDirectoryReader.readEntries() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadentries deprecatednon-standardchrome full support 8edge ?
...
firefox full support yesie no support noopera ?
... safari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support yesopera android no support nosafari ios full support 11.3samsung internet android ?
FileSystemFlags.create - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcreate experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox partial support 50notes partial support 50notes notes for security reasons,
firefox does not support creating files.
... full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitchrome android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkit
firefox android partial support 50notes partial support 50notes notes for security reasons,
firefox does not support creating files.
FileSystemFlags.exclusive - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetexclusive experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox partial support 50notes partial support 50notes notes for security reasons,
firefox does not support creating files.
... full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitchrome android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkit
firefox android partial support 50notes partial support 50notes notes for security reasons,
firefox does not support creating files.
File and Directory Entries API - Web APIs
the
firefox implementation of the file and directory entries api is very limited; there is no support for creating files.
...
firefox also does not implement the synchronous api.
... check the browser compatibility for any part of the api you use carefully, and see file and directory entries api support in
firefox for more details.
GainNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgainnode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 55notes full support 55notes notes before chrome 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before chrome 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
Using the Gamepad API - Web APIs
in
firefox, gamepads are only exposed to a page when the user interacts with one with the page visible.
...this is not strictly specified, but in
firefox it will contain three pieces of information separated by dashes (-): two 4-digit hexadecimal strings containing the usb vendor and product id of the controller, and the name of the controller as provided by the driver.
...note that this property is not currently supported in
firefox.
HTMLElement.offsetParent - Web APIs
the element has the position property set to fixed (
firefox returns <body>).
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetoffsetparentchrome full support 1edge full support 12
firefox full support 1ie full support 8op...
...era full support 8safari full support 3webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full support ...
HTMLIFrameElement.allowPaymentRequest - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetallowpaymentrequest experimentalchrome full support 60disabled full support 60disabled disabled from version 60: this feature is behind the #web-payments preference (needs to be set t...
...to change preferences in chrome, visit chrome://flags.edge full support 15
firefox full support 56ie ?
...to change preferences in chrome, visit chrome://flags.
firefox android full support yesopera android no support nosafari ios ?
HTMLImageElement.currentSrc - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcurrentsrc experimentalchrome full support 45edge full support 13
firefox full support 38 full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support yessafari full support 10.1webview android full support 45chrome android full support 45
firefox android full support 38 full support 38 no support 32 — 52disabled di...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 10.3samsung internet android full support 5.0legend full support full support no support no supportexperimental.
HTMLImageElement.sizes - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsizes experimentalchrome full support 45edge full support 13
firefox full support 38 full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support yessafari no support nowebview android full support 45chrome android full support 45
firefox android full support 38 full support 38 no support 33 — 52disabled disabled f...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android full support 5.0legend full support full support no support no supportexperimental.
HTMLImageElement.srcset - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsrcset experimentalchrome full support 34edge full support 12
firefox full support 38 full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 21safari full support 8webview android full support 37chrome android full support 34
firefox android full support 38 full support 38 no support 32 — 52disabled disabled f...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 8samsung internet android full support 2.0legend full support full support no support no supportexperimental.
HTMLMediaElement - Web APIs
this is implemented with prefixes in
firefox (mozpreservespitch) and webkit (webkitpreservespitch).
...this was
firefox-specific, having been implemented for
firefox os, and was removed in
firefox 55.
...this was
firefox-specific, having been implemented for
firefox os, and was removed in
firefox 55.
HTML Drag and Drop API - Web APIs
(
firefox supports some gecko-specific extensions to the datatransfer object, but those extensions will only work on
firefox.) each datatransfer object contains an items property, which is a list of datatransferitem objects.
... gecko-specific interfaces mozilla and
firefox support some features not in the standard drag-and-drop model.
... examples and demos copying and moving elements with the datatransfer interface copying and moving elements with the datatransferlistitem interface dragging and dropping files (
firefox only): http://jsfiddle.net/9c2ef/ dragging and dropping files (all browsers): https://jsbin.com/hiqasek/ a parking project using the drag and drop api: https://park.glitch.me/ (you can edit here) specifications specification status comment html living standard living standard see also drag operations dragging and dropping multiple items rec...
IDBDatabase.createObjectStore() - Web APIs
has been deleted or removed.) in
firefox previous to version 41, an invalidstateerror was raised in this case as well, which was misleading; this has now been fixed (see bug 1176165.) constrainterror an object store with the given name (based on case-sensitive comparison) already exists in the connected database.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcreateobjectstorechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge f...
...ull support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.deleteObjectStore() - Web APIs
has been deleted or removed.) in
firefox previous to version 41, an invalidstateerror was raised in this case as well, which was misleading; this has now been fixed (see bug 1176165.) notfounderror you are trying to delete an object store that does not exist.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdeleteobjectstorechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge f...
...ull support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBFactory.cmp() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcmpchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBFactory.deleteDatabase() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdeletedatabasechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full...
... support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.count() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcountchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.get() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.getKey() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetkeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.keyPath - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetkeypathchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full suppor...
...t 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.multiEntry - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmultientrychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.objectStore - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetobjectstorechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full su...
...pport 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.openCursor() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetopencursorchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.openKeyCursor() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetopenkeycursorchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full ...
...support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.unique - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetuniquechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBObjectStore.add() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetaddchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.autoIncrement - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetautoincrementchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full ...
...support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.clear() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetclearchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.count() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcountchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.delete() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdeletechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.get() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.index() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.indexNames - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetindexnameschrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.keyPath - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetkeypathchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full suppor...
...t 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.openCursor() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetopencursorchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.put() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetputchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBObjectStore.transaction - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettransactionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full su...
...pport 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBOpenDBRequest.onblocked - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonblockedchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full supp...
...ort 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBOpenDBRequest.onupgradeneeded - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonupgradeneededchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge ful...
...l support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBTransaction.db - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdbchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBVersionChangeEvent.newVersion - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnewversionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBVersionChangeEvent.oldVersion - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetoldversionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
... — 57prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 22opera android full support 14safari ios full support 8samsung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend ...
IDBVersionChangeRequest - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbversionchangerequest deprecatednon-standardchrome no support 12 — 23prefixed no support 12 — 23prefixed prefixed implemented with the vendor prefix: webkitedge ?
...
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nosetversion deprecatednon-standardchrome no support ...
... noedge no support no
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nolegend ...
IIRFilterNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetiirfilternode() constructorchrome full support 55notes full support 55notes notes before version 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 55notes full support 55notes notes before version 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before version 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
ImageCapture.takePhoto() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettakephoto experimentalchrome full support 60 full support 60 no support 59 — 60notes notes photosettings argument not supported.edge full su...
...pport ≤79
firefox ?
... 60 full support 60 no support 59 — 60notes notes photosettings argument not supported.chrome android full support 60 full support 60 no support 59 — 60notes notes photosettings argument not supported.
firefox android ?
MediaDeviceInfo.deviceId - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdeviceidchrome full support 55notes full support 55notes notes for earlier versions, this interface is available through the adapter.js polyfilledge full support ...
... 12
firefox full support 39ie no support noopera no support nonotes no support nonotes notes this property can be used in opera by using the adapter.js polyfill.safari no support nowebview android full support 55notes full support 55notes notes for earlier versions, this interface is available through the adapter.js polyfillchrome android full support 55notes full support 55...
...notes notes for earlier versions, this interface is available through the adapter.js polyfill
firefox android full support 39opera android no support nonotes no support nonotes notes this property can be used in opera by using the adapter.js polyfill.safari ios no support nosamsung internet android full support 6.0notes full support 6.0notes notes for earlier versions, this interface is available through the adapter.js polyfilllegend full support full support ...
MediaDeviceInfo.kind - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetkindchrome full support 55notes full support 55notes notes for earlier versions, this interface is available through the adapter.js polyfilledge full support ...
... 12
firefox full support 39ie no support noopera no support nonotes no support nonotes notes this property can be used in opera by using the adapter.js polyfill.safari no support nowebview android full support 55notes full support 55notes notes for earlier versions, this interface is available through the adapter.js polyfillchrome android full support 55notes full support 55note...
...s notes for earlier versions, this interface is available through the adapter.js polyfill
firefox android full support 39opera android no support nonotes no support nonotes notes this property can be used in opera by using the adapter.js polyfill.safari ios no support nosamsung internet android full support 6.0notes full support 6.0notes notes for earlier versions, this interface is available through the adapter.js polyfilllegend full support full support ...
MediaStream.id - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidchrome no support ?
... — 54edge no support 12 — 79
firefox full support 41ie no support noopera no support ?
...— 54
firefox android full support 41opera android no support ?
Node.cloneNode() - Web APIs
*note: in the dom4 specification (since gecko 13.0 (
firefox 13 / thunderbird 13 / seamonkey 2.10)), the optional deep argument defaults to true.
... with gecko 28.0 (
firefox 28 / thunderbird 28 / seamonkey 2.25 /
firefox os 1.3)), the console warned developers not to omit the argument.
... starting with gecko 29.0 (
firefox 29 / thunderbird 29 / seamonkey 2.26)), a shallow clone is defaulted instead of a deep clone.
NonDocumentTypeChildNode.nextElementSibling - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnextelementsiblingchrome full support 4edge full support 12notes full support 12notes notes before edge 79, this property was only impleme...
...nted for element, not for characterdata.
firefox full support 3.5ie partial support 9notes partial support 9notes notes only implemented for element, not for characterdata.
... see polyfill.opera full support 10safari full support 4webview android full support yeschrome android full support yes
firefox android full support 4opera android full support 10.1safari ios full support yessamsung internet android full support yeslegend full support full support partial support partial supp...
OfflineAudioCompletionEvent.OfflineAudioCompletionEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetofflineaudiocompletionevent() constructorchrome full support 57notes full support 57notes notes before chrome 59, the default values were not supported.edge full suppo...
...rt ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 57notes full support 57notes notes before version 59, the default values were not supported.chrome android full support 57notes full support 57notes notes before chrome 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
PaymentRequest.abort() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetabort()chrome full support 61edge full support 15
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version ...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.canMakePayment() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcanmakepayment()chrome full support 61edge full support 16
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.prototype.id - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidchrome full support 61edge full support 16
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 60
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: t...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 8.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.onshippingaddresschange - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonshippingaddresschangechrome full support 61edge full support 15
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabl...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.onshippingoptionchange - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonshippingoptionchangechrome full support 61edge full support 15
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disable...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.shippingOption - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetshippingoptionchrome full support 61edge full support 15
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from v...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.shippingType - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetshippingtypechrome full support 61edge full support 15
firefox full support 55notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 55
firefox android full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from ver...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.payerName - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpayernamechrome full support 61edge full support 15
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 58
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 7.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.requestId - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrequestidchrome full support 61edge full support 16
firefox full support 56notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 60
firefox android full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 8.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
Permissions.query() - Web APIs
firefox for example currently supports geolocation, notifications, push, and persistent-storage (see our permissions.webidl file).
... uservisibleonly: (push only, not supported in
firefox — see the browser support section below) indicates whether you want to show a notification for every message or be able to send silent push notifications.
... note: as of
firefox 44, the permissions for notifications and push have been merged.
PointerEvent.getCoalescedEvents() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetcoalescedevents experimentalchrome full support 58edge full support 79
firefox full support 59ie no support ...
... noopera full support 45safari no support nowebview android full support 58chrome android full support 58
firefox android partial support 59disabled partial support 59disabled disabled from version 59: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true).
... to change preferences in
firefox, visit about:config.opera android full support 43safari ios no support nosamsung internet android full support 7.0legend full support full support partial support partial support no support no supportexperimental.
PushSubscription.getKey() - Web APIs
it is currently
firefox-only experimental.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetkey()chrome full support 42edge full support 16
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no suppor...
...t noopera full support 29safari no support nowebview android no support nochrome android full support 42
firefox android full support 48opera android full support 29safari ios no support nosamsung internet android full support 4.0legend full support full support no support no supportsee implementation notes.see impl...
SVGAnimatedPathData - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svganimatedpathdata chrome ?
...
firefox ?
...
firefox android ?
SVGAnimatedPoints - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedpointschrome ?
... edge full support ≤18
firefox ?
...
firefox android ?
SVGDocument - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svgdocument chrome ?
...
firefox ?
...
firefox android ?
SVGFitToViewBox - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svgfittoviewbox chrome ?
...
firefox ?
...
firefox android ?
SVGMarkerElement - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svgmarkerelement chrome ?
...
firefox ?
...
firefox android ?
SVGPathSeg - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svgpathseg chrome ?
...
firefox ?
...
firefox android ?
SVGPathSegList - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svgpathseglist chrome ?
...
firefox ?
...
firefox android ?
SVGPointList - Web APIs
browser compatibility desktop mobile chrome edge
firefox internet explorer opera safari android webview chrome for android
firefox for android opera for android safari on ios samsung internet svgpointlist chrome ?
...
firefox ?
...
firefox android ?
SVGStylable - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgstylablechrome ?
... edge full support ≤18
firefox ?
...
firefox android ?
SVGTransformList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgtransformlistchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslength non-standardchrome full support yesedge full support ≤79
firefox full support ...
... webview android full support yeschrome android full support yes
firefox android full support 9opera android full support yessafari ios ?
SVGTransformable - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgtransformablechrome ?
... edge full support ≤18
firefox ?
...
firefox android ?
Selection.extend() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetextend experimentalchrome full support yesedge full support 12
firefox full support yesie no support ...
... noopera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yesoffset parameter is optional experimentalchrome full support yesedge full support ≤79
firefox ful...
...l support 55ie no support noopera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support 55opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
SharedWorkerGlobalScope.applicationCache - Web APIs
important: application cache is deprecated as of
firefox 44, and is no longer available in insecure contexts from
firefox 60 onwards (bug 1354175, currently nightly/beta only).
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetapplicationcachechrome full support 4edge full support ≤79
firefox full support 29ie no support ...
... noopera full support 10.6safari no support nowebview android full support yeschrome android full support yes
firefox android full support 29opera android full support yessafari ios ?
SharedWorkerGlobalScope.onconnect - Web APIs
onconnect = function(e) { var port = e.ports[0]; port.onmessage = function(e) { var workerresult = 'result: ' + (e.data[0] * e.data[1]); port.postmessage(workerresult); } port.start(); } for a complete running example, see our basic shared worker example (run shared worker.) note: the data property of the event object used to be null in
firefox.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonconnectchrome full support 4edge full support ≤79
firefox full support 29ie no support noop...
...era full support 10.6safari no support nowebview android full support yeschrome android full support 18
firefox android full support 29opera android full support yessafari ios ?
StorageManager.persist() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpersistchrome full support 52 full support 52 no support 48 — 52alternate name alternate name uses the non-standard name: requestpersistentedge ...
... full support ≤79
firefox full support 55ie ?
... 52 no support 48 — 52alternate name alternate name uses the non-standard name: requestpersistentchrome android full support 52 full support 52 no support 48 — 52alternate name alternate name uses the non-standard name: requestpersistent
firefox android full support 55opera android full support yessafari ios ?
URLUtilsReadOnly.hash - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethash experimentalchrome no support noedge no support no
firefox full support 38 full support 38...
... no support 3.5 — 38notes notes before
firefox 38,
firefox returned the hash percent encoded.
... this has been fixed to match the spec.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 38 full support 38 no support 4 — 38notes notes before
firefox 38,
firefox returned the hash percent encoded.
WaveShaperNode.WaveShaperNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwaveshapernode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari ?
... full support 55notes full support 55notes notes before chrome 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before chrome 59, the default values were not supported.
firefox android full support 53opera android full support 42safari ios ?
WebGL best practices - Web APIs
after too many errors (32 in
firefox), webgl stops generating descriptive messages, which really hinders debugging.
... in
firefox, setting the pref webgl.perf.max-warnings to -1 in about:config will enable performance warnings that include warnings about fb completeness invalidations.
... for example, within
firefox, the only time glgeterror is checked is after allocations (bufferdata, *teximage*, texstorage*) to pick up any gl_out_of_memory errors.
Using Web Workers - Web APIs
note: in
firefox, shared workers cannot be shared between documents loaded in private and non-private windows (bug 1177621).
... passing data by transferring ownership (transferable objects) google chrome 17+ and
firefox 18+ contain an additional way to pass certain types of objects (transferable objects, that is objects implementing the transferable interface) to or from a worker with high performance.
... chrome workers are a
firefox-only type of worker that you can use if you are developing add-ons and want to use workers in extensions and have access to js-ctypes in your worker.
window.cancelIdleCallback() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcancelidlecallback experimentalchrome full support 47edge full support 79
firefox full support 55 full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support yessafari no support nowebview android full support 47chrome android full support 47
firefox android full support 55 full support 55 full support 53d...
...to change preferences in
firefox, visit about:config.opera android full support yessafari ios no support nosamsung internet android full support 5.0legend full support full support no support no supportexperimental.
Window.event - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung interneteventchrome full support 1edge full support 12
firefox full support 63notes disabled full support ...
...to change preferences in
firefox, visit about:config.ie full support 4opera full support 7safari full support 1.1webview android full support 1chrome android full support 18
firefox android full support 63notes disabled full support ...
...to change preferences in
firefox, visit about:config.opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
Window.getComputedStyle() - Web APIs
during css transitions, getcomputedstyle returns the original property value in
firefox, but the final property value in webkit.
... in
firefox, properties with the value auto return the used value, not the value auto.
... so if you apply top:auto and bottom:0 on an element with height:30px and a containing block of height:100px,
firefox's computed style for top returns 70px, as 100 − 30 = 70.
Window.print() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetprintchrome full support 1notes full support 1notes notes starting with chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.ed...
...ge full support 12
firefox full support 1ie full support 5opera full support 6notes full support 6notes notes starting with opera 33, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.safari full support 1.1webview android full support 1notes full support 1notes notes starting with webview 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.chrom...
...e android full support 18notes full support 18notes notes starting with chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
firefox android no support nonotes no support nonotes notes see bug 1247609.opera android full support 10.1notes full support 10.1notes notes starting with opera 33, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.safari ios full support 1samsung internet an...
Window.prompt() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpromptchrome full support 1notes full support 1notes notes starting with chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.e...
...dge full support 12
firefox full support 1ie full support 4notes full support 4notes notes this function has no effect in the modern ui/metro version of internet explorer for windows 8.
...tarting with webview 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.chrome android full support 18notes full support 18notes notes starting with chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
firefox android full support 4opera android full support 10.1notes full support 10.1notes notes starting with opera 33, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.safari ios full support ...
Window.requestFileSystem() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrequestfilesystem experimentalnon-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤18prefixed full support ≤18prefixed prefixed implemented with the vendor prefix: webkit
firefox no support noie no support noopera no support nosafari no support nowebview android full support 37prefixed full support 37prefixed prefixed implemented with the vendor prefix: webkitchrome android full support yesprefixed full support yesprefixed prefixed implemented wi...
...th the vendor prefix: webkit
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportexperimental.
Window.routeEvent() - Web APIs
obsolete since gecko 24 (
firefox 24 / thunderbird 24 / seamonkey 2.21)this feature is obsolete.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrouteevent deprecatednon-standardchrome no support noedge no support no
firefox no support noie ?
... webview android no support nochrome android no support no
firefox android no support noopera android ?
Window.scroll() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrollchrome full support 1edge full support 12
firefox full support 1ie full support 4opera ...
... full support 3safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0scrolltooptions parameterchrome full support 45edge full support 79
firefox full support yesi...
...e no support noopera full support 32safari no support nowebview android full support 45chrome android full support 45
firefox android full support yesopera android full support 32safari ios no support nosamsung internet android full support 5.0legend full support full support no support ...
Window.scrollBy() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrollbychrome full support 1edge full support 79 full support 79 no support 12 — 79notes notes only scrollby(x...
...-coord, y-coord) is supported.
firefox full support 1ie partial support 11notes partial support 11notes notes only scrollby(x-coord, y-coord) is supported.opera full support 3safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support...
... 1.0scrolltooptions parameterchrome full support 45edge full support 79
firefox full support yesie no support noopera full support 32safari no support nowebview android full support 45chrome android full support 45
firefox android full support yesopera android full support 32safari ios no support ...
Sending and Receiving Binary Data - Web APIs
note: support for sending arraybuffer objects using xmlhttprequest was added to gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6).
...
firefox-specific examples this example transmits binary content asynchronously, using the post method, and
firefox's non-standard sendasbinary().
... note: this non-standard sendasbinary method is considered deprecated as of gecko 31 (
firefox 31 / thunderbird 31 / seamonkey 2.28) and will be removed soon.
Multipart labels: Using ARIA for labels with embedded fields inside them - Accessibility
if you’re using a screen reader, have you noticed that, when you go to this setting in
firefox, it tells you “delete history after 21 days”?, followed by the announcement that you’re in a textbox, and that it contains the number 21.
...with
firefox 3, your blind users will automatically get better accessibility from the new attribute, but the users of older browsers are not left in the dark this way.
...this technique works in
firefox; however, it doesn't currently work in many other browsers, including ie.
Alerts - Accessibility
the moment this happens,
firefox will fire an “alert” event to assistive technologies when this div appears.
...this is similar to the notification bar in
firefox that prompts you whether you want to save a password.
...we need to change the two inputs for e-mail and name for this: <input name="name" id="name" aria-required="true" onblur="checkvalidity('name', ' ', 'invalid name entered!');"/> <br /> <input name="email" id="email" aria-required="true" onblur="checkvalidity('email', '@', 'invalid e-mail address');"/> testing the example if you use
firefox 3 and a currently-supported screen reader, try the following: enter only your first name as the name.
-moz-outline-radius - CSS: Cascading Style Sheets
in mozilla applications like
firefox, the -moz-outline-radius css shorthand property can be used to give an element's outline rounded corners.
... percentage or calc();-moz-outline-radius-bottomright: a length, percentage or calc();-moz-outline-radius-bottomleft: a length, percentage or calc(); formal syntax <outline-radius>{1,4} [ / <outline-radius>{1,4} ]?where <outline-radius> = <length> | <percentage> examples rounding an outline note: this example will not display the desired effect if you are viewing this in a browser other than
firefox.
... html <p>this element has a rounded outline!</p> css p { margin: 5px; border: 1px solid black; outline: dotted red; -moz-outline-radius: 12% 1em 25px; } result notes dotted or dashed radiused corners were rendered as solid until
firefox 50, bug 382721 future versions of gecko/
firefox may drop this property completely.
::slotted() - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet::slottedchrome full support 50edge full support 79
firefox full support 63 full support 63 ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 37safari full support 10webview android full support 50chrome android full support 50
firefox android full support 63 full support 63 no support 59 — 63disabled disabled...
...to change preferences in
firefox, visit about:config.opera android full support 37safari ios full support 10samsung internet android full support 5.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
:checked - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:checkedchrome full support 1notes full support 1notes notes on macos, styling <option&rt; elements has no effect.edge full support 12note...
...s full support 12notes notes on macos, styling <option&rt; elements has no effect.
firefox full support 1notes full support 1notes notes from
firefox 56, <option&rt; elements cannot be styled.notes on macos, styling <option&rt; elements has no effect.ie full support 9opera full support 9notes full support 9notes notes on macos, styling <option&rt; elements has no effect.safari full support 3.1notes full support 3.1notes notes styling <optio...
...n&rt; elements has no effect.webview android full support 2chrome android full support 18
firefox android full support 4notes full support 4notes notes from
firefox 56, <option&rt; elements cannot be styled.opera android full support 10.1safari ios full support 3.1notes full support 3.1notes notes styling <option&rt; elements has no effect.samsung internet android full support 1.0legend full support ...
:host() - CSS: Cascading Style Sheets
browser compatibility desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:host()chrome full support 54edge full support 79
firefox full support 63 full support 63 ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 41safari full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.webview android full support 54chrome android full support 54
firefox android ...
...to change preferences in
firefox, visit about:config.opera android full support 41safari ios full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.samsung internet android full support 6.0legend ...
:host - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:hostchrome full support 54edge full support 79
firefox full support 63 full support 63 ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 41safari full support 10webview android full support 54chrome android full support 54
firefox android full support 63 full support 63 no support 61 — 63disabled disabled fro...
...to change preferences in
firefox, visit about:config.opera android full support 41safari ios full support 10samsung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
@font-face - CSS: Cascading Style Sheets
since
firefox 61 (and in other modern browsers) this also accepts two values to specify a range that is supported by a font-face, for example font-stretch: 50% 200%; font-style a font-style value.
... since
firefox 61 (and in other modern browsers) this also accepts two values to specify a range that is supported by a font-face, for example font-style: oblique 20deg 50deg; font-weight a font-weight value.
... since
firefox 61 (and in other modern browsers) this also accepts two values to specify a range that is supported by a font-face, for example font-weight: 100 400; font-variant a font-variant value.
Logical properties for margins, borders and padding - CSS: Cascading Style Sheets
.box { margin-block: 5px 10px; } note: the shorthand properties margin-inline and margin-block shipped in
firefox 66.
... in a horizontal writing-mode this css would apply 5px of padding to the top of the box and 10px of padding to the bottom: .box { padding-block: 5px 10px; } note: the shorthand properties padding-inline and padding-block shipped in
firefox 66.
... .box { border-block: 2px solid green; border-inline-width: 4px; border-inline-style: dotted; border-inline-color: rebeccapurple; } note: these two value shorthands shipped in
firefox 66, check browser support before using as other browsers may not have implemented them yet.
box-align - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbox-align deprecatednon-standardchrome full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -webkit-edge full support ...
... 12prefixed full support 12prefixed prefixed implemented with the vendor prefix: -webkit-
firefox full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -moz- full support 49prefixed prefixed implemented with the vendor prefix: -webkit-ie no support noopera full support 15prefixed full support 15prefixed prefixed implemented with the vendor prefix: -webkit-safari full support 3prefixed ...
... full support ≤37prefixed full support ≤37prefixed prefixed implemented with the vendor prefix: -webkit-chrome android full support 18prefixed full support 18prefixed prefixed implemented with the vendor prefix: -webkit-
firefox android full support 4prefixed full support 4prefixed prefixed implemented with the vendor prefix: -moz- full support 49prefixed prefixed implemented with the vendor prefix: -webkit-opera android full support 14prefixe...
clear - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetclearchrome full support 1edge full support 12
firefox full support 1ie full support 4opera ...
... full support 3.5safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0flow-relative values inline-start and inline-endchrome no support noedge no support no
firefox full support ...
... 55ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 55opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support ...
column-count - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcolumn-countchrome full support 50 full support 50 full support 1prefixed prefixed implemented with the vendor prefix: -webkit-edge ...
... full support 12 full support 12 full support 12prefixed prefixed implemented with the vendor prefix: -webkit-
firefox full support 52 full support 52 no support 1.5 — 74prefixed notes prefixed implemented with the vendor prefix: -moz-notes prior to version 37, multiple columns didn't work with display: table-caption elements.ie full support 10opera full support 11.1 full support 11.1 full support ...
... 50 full support ≤37prefixed prefixed implemented with the vendor prefix: -webkit-chrome android full support 50 full support 50 full support 18prefixed prefixed implemented with the vendor prefix: -webkit-
firefox android full support 52 full support 52 full support 4prefixed notes prefixed implemented with the vendor prefix: -moz-notes prior to version 37, multiple columns didn't work with display: table-caption elements.opera android full support ...
element() - CSS: Cascading Style Sheets
examples these examples can be viewed live in builds of
firefox that support -moz-element().
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetelement() experimentalchrome no support noedge no support no
firefox full support 57prefixed full support ...
...s -moz-element() is limited to background-image and background.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 60prefixed full support 60prefixed prefixed implemented with the vendor prefix: -moz- no support 29 — 60prefixed notes prefixed implemented with the vendor prefix: -moz-notes -moz-element() is limited to background-image, background, border-image and border-i...
font-variant-position - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfont-variant-positionchrome no support noedge no support no
firefox full support 34 full support ...
...to change preferences in
firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 34 full support 34 no support 24 — 34disabled disabled fr...
...to change preferences in
firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
image-set() - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetimage-set()chrome full support 21prefixed full support 21prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 7...
...9prefixed full support 79prefixed prefixed implemented with the vendor prefix: -webkit-
firefox no support nonotes no support nonotes notes see bug 1107646.ie no support noopera full support 15prefixed full support 15prefixed prefixed implemented with the vendor prefix: -webkit-safari partial support 6prefixed notes partial support 6prefixed notes prefixed implemented with the vendor prefix: -webkit-notes support for url images only and x is the only supported resolution unit.
... full support 4.4prefixed full support 4.4prefixed prefixed implemented with the vendor prefix: -webkit-chrome android full support 25prefixed full support 25prefixed prefixed implemented with the vendor prefix: -webkit-
firefox android no support nonotes no support nonotes notes see bug 1107646.opera android full support 14prefixed full support 14prefixed prefixed implemented with the vendor prefix: -webkit-safari ios partial s...
letter-spacing - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetletter-spacingchrome full support 1edge full support 12
firefox full support 1ie full support 4...
...opera full support 3.5safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0svg supportchrome full support 1edge full support 12
firefox full support 72ie ...
... full support 9opera full support 7safari full support 5.1webview android full support ≤37chrome android full support 18
firefox android no support noopera android full support 10.1safari ios full support 5.1samsung internet android full support 1.0legend full support full support no support ...
object-position - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetobject-positionchrome full support 31edge full support 16
firefox full support 36ie no support ...
... full support 19 full support 11.6prefixed prefixed implemented with the vendor prefix: -o-safari full support 10webview android full support 4.4.3chrome android full support 31
firefox android full support 36opera android full support 19 full support 19 full support 12prefixed prefixed implemented with the vendor prefix: -o-safari ios full support 10samsung...
... internet android full support 2.0support for three-value syntax of positionchrome no support 31 — 68edge no support 16 — 79
firefox no support 36 — 70ie no support noopera no support 19 — 55 no support 19 — 55 full support 11.6prefixed prefixed implemented with the vendor prefix: -o-safari full support 10webview android no support 4.4.3 — 68chrome android no support 31 — 68
firefox android full support ...
outline-color - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetoutline-colorchrome full support 1edge full support 12
firefox full support 1.5 full support 1.
...xed prefixed implemented with the vendor prefix: -moz-ie full support 8opera full support 7safari full support 1.2webview android full support 37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0invertchrome no support noedge no support ...
... 12 — 79
firefox no support 1 — 3ie full support 8opera no support 7 — 15safari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support ...
outline-width - CSS: Cascading Style Sheets
typically equivalent to 1px in desktop browsers (including
firefox).
...typically equivalent to 3px in desktop browsers (including
firefox).
...typically equivalent to 5px in desktop browsers (including
firefox).
Guide to scroll anchoring - CSS: Cascading Style Sheets
you can check whether disabling scroll anchoring fixes the issue in
firefox by changing layout.css.scroll-anchoring.enabled to false in about:config.
... if it does, you can check what node is
firefox using as the anchor using the layout.css.scroll-anchoring.highlight switch.
... in bug 1584285 the layout.css.scroll-anchoring.suppressions.enabled flag was added to
firefox nightly in order to allow the disabling of these triggers further reading explainer document on the wicg site scroll anchoring for web developers on the chromium blog implement a pin-to-bottom scrolling element using scroll anchoring ...
pointer-events - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpointer-eventschrome full support 1edge full support 12
firefox full support 1.5ie full support ...
... 11opera full support 9safari full support 4webview android full support 2chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 3.2samsung internet android full support 1.0applies to html elements experimentalchrome full support 2edge full support 12
firefox full support ...
... 3.6ie full support 11opera full support 15safari full support 4webview android full support 37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 3.2samsung internet android full support 1.0legend full support full supportexperimental.
ruby-position - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetruby-position experimentalchrome no support noedge no support 12 — 79
firefox full support 38ie no support nonot...
... nonotes notes safari implements a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).webview android no support nochrome android no support no
firefox android full support 38opera android no support nosafari ios no support nonotes no support nonotes notes safari implements a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two propertie...
...s: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).samsung internet android no support nointer-character experimentalchrome no support noedge no support no
firefox no support noie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support ...
<shape> - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet<shape> deprecatedchrome full support 1edge full support 12
firefox full support 1ie full support ...
... 5.5opera full support 9.5safari full support 1.3webview android full support 37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0rect() deprecatedchrome full support 1edge full support 12
firefox full support ...
...for internet explorer 8 and later versions, only the standard comma-separated syntax is supported.opera full support 9.5safari full support 1.3webview android full support 37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full supportd...
CSS: Cascading Style Sheets
firefox developer tools lets you view and edit a page's live css via the inspector and style editor tools.
... the web developer extension for
firefox lets you track and edit live css on watched sites.
... meta bugs
firefox: bug 1323667 ...
Adding captions and subtitles to HTML5 video - Developer guides
{ color:#ccc; } if the webvtt file uses voice spans, which allow cues to be defined as having a particular "voice": 0 00:00:00.000 --> 00:00:12.000 <v test>[test]</v> then this specific 'voice' will be stylable like so: ::cue(v[voice='test']) { color:#fff; background:#0095dd; } note: some of the styling of cues with ::cue currently works on chrome, opera, and safari, but not yet on
firefox.
...
firefox firefox's implementation was completely broken due to a bug, leading to mozilla turning off webvtt support by default (you can turn it on via the media.webvtt.enabled flag.) however, this bug looks to have been fixed and webvtt support re-enabled as of gecko 31, so this will not be a problem for
firefox final release users for much longer (on gecko 29 as of the time of this writing) this has bee...
...n fixed as of
firefox 31, and everything works as it should.
Touch events (Mozilla experimental) - Developer guides
warning: this experimental api was removed in gecko 18.0 (
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15), when support for the standard touch events was implemented.
... the experimental touch events api described on this page was available from gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) to gecko/
firefox 17.
... you should instead use the standard touch events api, supported since gecko/
firefox 6 with multi-touch support added in gecko/
firefox 12.
HTML5 - Developer guides
offline & storage offline resources: the application cache
firefox fully supports the html5 offline resource specification.
... online and offline events
firefox 3 supports whatwg online and offline events, which let applications and extensions detect whether or not there's an active internet connection, as well as to detect when the connection goes up and down.
... 2d/3d graphics and effects canvas tutorial learn about the new <canvas> element and how to draw graphs and other objects in
firefox.
<a>: The Anchor element - HTML: Hypertext Markup Language
(if content-disposition: inline,
firefox prefers the header while chrome prefers download.) href the url that the hyperlink points to.
...
firefox 79+) setting target="_blank" on <a> elements implicitly provides the same rel behavior as setting rel="noopener".
...
firefox 79+) setting target="_blank" implicitly provides the same protection as setting rel="noopener".
<input type="text"> - HTML: Hypertext Markup Language
firefox for android only.
... mozactionhint a mozilla extension, supported by
firefox for android, which provides a hint as to what sort of action will be taken if the user presses the enter or return key while editing the field.
...to see the status of the change being implemented in
firefox, see bug 1490661.
<input type="time"> - HTML: Hypertext Markup Language
24-hour
firefox firefox's time control is very similar to chrome's, except that it doesn't have the up and down arrows.
... in
firefox, there are no arrows, so the step value isn't used.
...chrome-based browsers support it starting in version 82 and
firefox added it in version 76.
<input type="url"> - HTML: Hypertext Markup Language
firefox for android only.
... mozactionhint a mozilla extension, supported by
firefox for android, which provides a hint as to what sort of action will be taken if the user presses the enter or return key while editing the field.
...to see the status of the change being implemented in
firefox, see bug 1490661.
<listing> - HTML: Hypertext Markup Language
implementation note: up to gecko 1.9.2 inclusive,
firefox implements the htmlspanelement interface for this element.
... desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlisting deprecatedchrome no support noedge no support no
firefox no support nonotes no support nonotes notes before
firefox 4, this element implemented the htmlspanelement interface instead of the standard htmlelement interface.ie ...
... no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support nonotes no support nonotes notes before
firefox 4, this element implemented the htmlspanelement interface instead of the standard htmlelement interface.opera android no support nosafari ios no support nosamsung internet android no support ...
Data URLs - HTTP
length limitations although
firefox supports data urls of essentially unlimited length, browsers are not required to support any particular maximum length of data.
...to mitigate such issues, top-level navigation to data:// urls has been blocked in
firefox 59+ (release version, nightly/beta from 58), and we hope to see other browsers follow suit soon.
... see blocking top-level navigations to data urls for
firefox 58 for more details.
Evolution of HTTP - HTTP
a typical flow of requests, all through one single connection is now looking like this: get /docs/glossary/simple_header http/1.1 host: developer.mozilla.org user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101
firefox/50.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip, deflate, br referer: https://developer.mozilla.org/docs/glossary/simple_header 200 ok connection: keep-alive content-encoding: gzip content-type: text/html; charset=utf-8 date: wed, 20 jul 2016 10:55:30 gmt etag: "547fa7e369ef56031dd3bff2ace9fc0832eb251a" keep-alive...
...: timeout=5, max=1000 last-modified: tue, 19 jul 2016 00:59:33 gmt server: apache transfer-encoding: chunked vary: cookie, accept-encoding (content) get /static/img/header-background.png http/1.1 host: developer.cdn.mozilla.net user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101
firefox/50.0 accept: */* accept-language: en-us,en;q=0.5 accept-encoding: gzip, deflate, br referer: https://developer.mozilla.org/docs/glossary/simple_header 200 ok age: 9578461 cache-control: public, max-age=315360000 connection: keep-alive content-length: 3077 content-type: image/png date: thu, 31 mar 2016 13:34:46 gmt last-modified: wed, 21 oct 2015 18:27:50 gmt server: apache (image content of 3077 bytes) http/1.1 was first published as rfc 2068 in january 1997.
... see bug 1158011 for implementation status in
firefox.
MIME types (IANA media types) - HTTP
only a few image types are used commonly enough to be considered safe for use on web pages: abbreviation file format mime type file extension(s) browser compatibility apng animated portable network graphics image/apng .apng chrome, edge,
firefox, opera, safari bmp bitmap file image/bmp .bmp chrome, edge,
firefox, internet explorer, opera, safari gif graphics interchange format image/gif .gif chrome, edge,
firefox, internet explorer, opera, safari ico microsoft icon image/x-icon .ico, .cur chrome, edge,
firefox, internet explorer, opera, safari jpeg joint photograp...
...hic expert group image image/jpeg .jpg, .jpeg, .jfif, .pjpeg, .pjp chrome, edge,
firefox, internet explorer, opera, safari png portable network graphics image/png .png chrome, edge,
firefox, internet explorer, opera, safari svg scalable vector graphics image/svg+xml .svg chrome, edge,
firefox, internet explorer, opera, safari tiff tagged image file format image/tiff .tif, .tiff none built-in; add-ons required webp web picture format image/webp .webp chrome, edge,
firefox, opera the abbreviation for each format links to a longer description of the format, its capabilities, and detailed browser compatibility information; including which versions introduced support and specific special features that m...
...ata"> <label>name: <input name="mytextfield" value="test"></label> <label><input type="checkbox" name="mycheckbox"> check</label> <label>upload file: <input type="file" name="myfile" value="test.txt"></label> <button>send the file</button> </form> will send this message: post / http/1.1 host: localhost:8000 user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101
firefox/50.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip, deflate connection: keep-alive upgrade-insecure-requests: 1 content-type: multipart/form-data; boundary=---------------------------8721656041911415653955004498 content-length: 465 -----------------------------8721656041911415653955004498 content-disposition: form-da...
Index - HTTP
it is currently only implemented in
firefox, but is harmless to send to every browser.
... 111
firefox user agent string reference compatibility,
firefox,
firefox 4, gecko, gecko 2.0, guide this document describes the user agent string used in
firefox 4 and later and applications based on gecko 2.0 and later.
... for a breakdown of changes to the string in gecko 2.0, see final user agent string for
firefox 4 (blog post).
Link prefetching FAQ - HTTP
starting in gecko 1.9.1 (
firefox 3.5), https content can be prefetched.
...this includes
firefox and netscape 7.01+.
...you can block 3rd party cookies in
firefox, see disabling third party cookies.) what about...?
Deprecated and obsolete features - JavaScript
the following traps are obsolete: hasown (bug 980565,
firefox 33).
... getenumerablepropertykeys (bug 783829,
firefox 37) getownpropertynames (bug 1007334,
firefox 33) keys (bug 1007334,
firefox 33) escape sequences octal escape sequences (\ followed by one, two, or three octal digits) are deprecated in string and regular expression literals.
... string.prototype.quote is removed from
firefox 37.
Warning: Date.prototype.toLocaleFormat is deprecated - JavaScript
the function is no longer available in
firefox 58+.
... examples deprecated syntax the date.prototype.tolocaleformat method is deprecated and will be removed (no cross-browser support, available in
firefox only).
...märz 2017" alternative standard syntax using the ecmascript intl api the ecma-402 (ecmascript intl api) standard specifies standard objects and methods that enable language sensitive date and time formatting (available in chrome 24+,
firefox 29+, ie11+, safari10+).
Date.prototype.getTime() - JavaScript
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20µs in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 new date().gettime(); // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in
firefox, you can also enable privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
Date.now() - JavaScript
in
firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20µs in
firefox 59; in 60 it will be 2ms.
... // reduced time precision (2ms) in
firefox 60 date.now() // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in
firefox, you can also enable privacy.resistfingerprinting, the precision will be 100ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
Proxy - JavaScript
estbrowser') { obj.browsers.push(value); return true; } // convert the value if it is not an array if (typeof value === 'string') { value = [value]; } // the default behavior to store the value obj[prop] = value; // indicate success return true; } }); console.log(products.browsers); // ['internet explorer', 'netscape'] products.browsers = '
firefox'; // pass a string (by mistake) console.log(products.browsers); // ['
firefox'] <- no problem, the value is an array products.latestbrowser = 'chrome'; console.log(products.browsers); // ['
firefox', 'chrome'] console.log(products.latestbrowser); // 'chrome' finding an array item object by its property this proxy extends an array with some utility features.
... let products = new proxy([ { name: '
firefox', type: 'browser' }, { name: 'seamonkey', type: 'browser' }, { name: 'thunderbird', type: 'mailer' } ], { get: function(obj, prop) { // the default behavior to return the value; prop is usually an integer if (prop in obj) { return obj[prop]; } // get the number of products; an alias of products.length if (prop === 'number') { return obj.length; } let result, types = {}; for (let product of obj) { if (product.name === prop) { result = product; } if (types[product.type]) { ty...
... } else { types[product.type] = [product]; } } // get a product by name if (result) { return result; } // get products by type if (prop in types) { return types[prop]; } // get product types if (prop === 'types') { return object.keys(types); } return undefined; } }); console.log(products[0]); // { name: '
firefox', type: 'browser' } console.log(products['
firefox']); // { name: '
firefox', type: 'browser' } console.log(products['chrome']); // undefined console.log(products.browser); // [{ name: '
firefox', type: 'browser' }, { name: 'seamonkey', type: 'browser' }] console.log(products.types); // ['browser', 'mailer'] console.log(products.number); // 3 a complete traps list example now in...
WebAssembly.Memory() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsmemory() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung intern...
...et android full support 7.0nodejs full support 8.0.0shared flagchrome full support 74edge full support 79
firefox full support 78ie no support noopera full support 62safari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support ...
Add to Home screen - Progressive web apps (PWAs)
firefox has had mobile support since v58 and is working on desktop support.
... if you have
firefox for android available, use it to navigate to our demo at https://mdn.github.io/pwa-examples/a2hs/.
...also, be aware that chrome requires this before it will display the install banner, whereas
firefox doesn't require it for showing the home-with-a-plus icon.
Installing and uninstalling web apps - Progressive web apps (PWAs)
installation is supported by chrome for android and android webview version 31 and later, opera for android 32 onward, samsung internet from version 4 onward, and
firefox for android version 58 and later.
...
firefox for android on an android device using
firefox, you'll see a "home" icon with a plus (+) icon inside it—this is the "add to home screen" icon displayed for any site that has the necessary features in place.
... tapping that icon should then take you to the same confirmation banner shown in
firefox above.
Mobile first - Progressive web apps (PWAs)
in this sample app, i have used a couple of the built-in features to: include an install button that works for
firefox os,
firefox aurora, chrome and ios app installs (as explained on the install github page).
...y: inline; } nav li a { border-right: 1px solid #ad66d5; border-bottom: none; display: inline-block; padding: 0 5px; font-size: 1.6em; } nav li:last-child a { border-right: none; } } @media (min-width: 600px) { html { background: #eee; height: 100%; } body { width: 600px; height: inherit; margin: 0 auto; background: url(../img/
firefox-os.png) bottom left no-repeat, linear-gradient(to bottom, #fff, #eee); } .main > p { background: rgba(255,255,255,0.3); } nav li a { padding: 0 10px; font-size: 2em; } } the first one cancels out the css display: table behaviour, hides the links to jump to and from the navigation, as they are not needed anymore in the wider layout, and changes the vertical menu to a hor...
... note:
firefox's responsive design view is a great way to get a quick idea of how your media queries are behaving themselves.
alignment-baseline - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetalignment-baselinechrome ?
...
firefox ?
...
firefox android ?
baseline-shift - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbaseline-shiftchrome ?
...
firefox ?
...
firefox android ?
clip-path - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetclip-pathchrome ?
...
firefox ?
...
firefox android ?
clip-rule - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetclip-rulechrome ?
...
firefox ?
...
firefox android ?
color-interpolation - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcolor-interpolationchrome ?
...
firefox ?
...
firefox android ?
color-profile - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcolor-profile deprecatedchrome ?
...
firefox ?
...
firefox android ?
color - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcolorchrome ?
...
firefox ?
...
firefox android ?
cursor - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcursorchrome ?
...
firefox ?
...
firefox android ?
stroke-width - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetstroke-widthchrome ?
...
firefox ?
...
firefox android ?
stroke - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetstrokechrome ?
...
firefox ?
...
firefox android ?
text-anchor - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettext-anchorchrome ?
...
firefox ?
...
firefox android ?
text-rendering - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettext-renderingchrome ?
...
firefox ?
...
firefox android ?
writing-mode - SVG: Scalable Vector Graphics
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwriting-modechrome ?
...
firefox ?
...
firefox android ?
Linking - SVG: Scalable Vector Graphics
the target attribute on the svg <a> element doesn't work in mozilla
firefox 1.5.
...however, target does not work with mozilla's implementation of the svg <a> element in
firefox 1.5.
... (the problem will be fixed in
firefox 2.0.) anyway, the resultant behavior in moz svg is that page2.html will be loaded into the frame where the svg button was (i.e.
mimeTypes.rdf corruption - SVG: Scalable Vector Graphics
actually, in mozilla
firefox 1.5, the media type for files embedded into html using the html <embed> and <object> tags is (unfortunately) obtained in the same way as it's obtained for local files instead of using the http headers as it should.
...try and open a local .svg file using mozilla and when the "opening ..." dialog comes up, select the "open with" radio button and choose any .exe except
firefox.exe/mozilla.exe.
...in
firefox, go to tools > options...
How to fix a website with blocked mixed content - Web security
starting with
firefox 23,
firefox blocks active mixed content by default.
... note that since mixed content blocking already happens in chrome and internet explorer, it is very likely that if your website works in both of these browsers, it will work equally well in
firefox with mixed content blocking.
... in any case, the best way to know if something is broken in
firefox is to download the latest
firefox edition, open different pages on your website with the web console open (enable the "security" messages) and see if anything related to mixed content is reported.
Mixed content - Web security
warnings in web console the
firefox web console displays a mixed content warning message in the net pane when a page on your website has this issue.
... starting in
firefox 23, mixed active content is blocked by default (and mixed display content can be blocked by setting a preference).
... note: since
firefox 55, the loading of mixed content is allowed on http://127.0.0.1/ (see bug 903966).
Transforming XML with XSLT - XSLT: Extensible Stylesheet Language Transformations
built from the ground up utilizing a wide variety of xml technologies,
firefox incorporates within itself all of the mechanisms needed to process both original xml documents and the specialized stylesheets used to style and lay them out for html display, reducing server load with client-side processing.
... at present, gecko (the layout engine behind
firefox) supports two forms of xml stylesheets.
...xslt allows a stylesheet author to transform a primary xml document in two significant ways: manipulating and sorting the content, including a wholesale reordering of it if so desired, and transforming the content into a different format (and in the case of
firefox, the focus is on converting it on the fly into html which can then be displayed by the browser).
Content Scripts - Archive of obsolete content
ies a url pointing to the file "content-script.js", located in the data subdirectory under the add-on's root directory: // main.js var data = require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org", contentscriptfile: data.url("content-script.js") }); // content-script.js document.body.innerhtml = "<h1>page matches ruleset</h1>"; from
firefox 34 onwards, you can use "./content-script.js" as an alias for self.data.url("content-script.js").
... this add-on adds a button to
firefox: when the user clicks the button, the add-on attaches a content script to the active tab, sends the content script a message called "my-addon-message", and listens for a response called "my-script-response": //main.js var tabs = require("sdk/tabs"); var buttons = require("sdk/ui/button/action"); var self = require("sdk/self"); buttons.actionbutton({ id: "attach-script", label: "attach the ...
Modules - Archive of obsolete content
we will show how to do each of these things using the built-in components object provided by xulrunner application such as
firefox and thunderbird.
...applications such as
firefox and thunderbird are based on xulrunner.
Module structure of the SDK - Archive of obsolete content
although the sdk repository in github includes copies of these modules, they are built into
firefox and by default, when you run or build an add-on using jpm run or jpm xpi, it is the versions of the modules in
firefox that are used.
... there's a list of these "community-developed modules" in the sdk's github wiki, and to learn how to use them, see the tutorial on using external modules to add menu items to
firefox.
notifications - Archive of obsolete content
var notifications = require("sdk/notifications"); var self = require("sdk/self"); var myiconurl = self.data.url("myicon.png"); notifications.notify({ text: "i have an icon!", iconurl: myiconurl }); from
firefox 34, you can use "./myicon.png" as an alias for self.data.url("myicon.png").
...if the user's system does not support desktop notifications or if its notifications service is not running: if
firefox was started normally, notifications are logged to
firefox's error console if the user launched
firefox from the command line, notifications are logged to the terminal.
windows - Archive of obsolete content
in particular, depending on what you do with these objects, your code might not work with multiprocess
firefox.
... } }); returns the window that was opened: var windows = require("sdk/windows").browserwindows; var example = windows.open("http://www.example.com"); require("sdk/ui/button/action").actionbutton({ id: "read", label: "read", icon: "./read.png", onclick: function() { example.close(); } }); this example uses the action button api, which is only available from
firefox 29 onwards.
test/httpd - Archive of obsolete content
this module was removed in
firefox 36, please use the addon-httpd npm module instead.
... }) }); this starts a server in background (assuming you're running this code in an application that has an event loop, such as
firefox).
cfx to jpm - Archive of obsolete content
you can use jpm from
firefox 38 onwards.
... entry point the add-on's entry point is the file that's executed when the add-on needs to initialize itself: for example, when
firefox starts, or when the add-on's installed, enabled, or upgraded.
Tools - Archive of obsolete content
cfx is is no longer supported as of
firefox 44 and no longer accepted for add-on submission, jpm should now be used instead.
...enables you to run and test add-ons for
firefox mobile (aka fennec).
Logging - Archive of obsolete content
the console.log() method prints an informational message: console.log("hello world"); try it out: create a new directory, and navigate to it execute jpm init, accepting all the defaults open "index.js" and add the line above execute jpm run
firefox will start, and the following line will appear in the command window you used to execute jpm run: info: hello world!
... if you've installed the add-on in
firefox then the messages appear in
firefox's browser console.
Troubleshooting - Archive of obsolete content
check your
firefox jpm searches well known locations on your system for
firefox.
... when you run jpm to test your add-on or run unit tests, it prints out the location of the
firefox or xulrunner binary that it found, so you can check its output to be sure.
Add-on SDK - Archive of obsolete content
using the add-on sdk, you can create
firefox add-ons.
... sdk infrastructure aspects of the sdk's underlying technology: modules, the program id and the rules defining
firefox compatibility.
Bookmarks - Archive of obsolete content
firefox 2 and earlier creating a new bookmark var win = mybrowser.contentwindow; // get the bookmarks service const bmsvc = components.classes["@mozilla.org/browser/bookmarks-service;1"] .getservice(components.interfaces.nsibookmarksservice); // create the bookmark bmsvc.createbookmarkincontainer(win.document.title, // bookmark name win.location.href.tostring(), // uri of the bookmark null, // shortcut win.document.title, // description win.document.characterset, // charset null, // postdata bookmarksservice.getbookmarkstoolbarfolder(), // bookmark folder ...
... 0); // index in the folder
firefox 3
firefox 3 provides a reworked set of api for working with history and bookmarks.
Dialogs and Prompts - Archive of obsolete content
example: <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" ondialogaccept="alert('ok!');"> <hbox> <label value="hey!"/> <spacer flex="1"/> <vbox> <button dlgtype="accept"/> <button dlgtype="cancel"/> </vbox> </hbox> </dialog> default button since
firefox 1.5, there are defaultbutton attributes and properties on the <dialog> element bug 284776.
...to get an idea of what it looks like, open options (or preferences) dialog in
firefox or thunderbird (v1.0 and earlier only).
Finding window handles - Archive of obsolete content
comparing to the method above, by using this method, you don't have to compile your component with nsiwidget.h and other bunchs of h files that should not be exposed to outside, and could change every time
firefox updates, all you need is nsibasewindow.idl(it's not in gecko_sdk, get this from the latest
firefox source, or http://mxr.mozilla.org/mozilla/sourc...basewindow.idl), and use xpidl to compile it to .h file, although that's stll a unfrozen interface, but it should be a lot better.
... that means if you use the top level nsibasewindow as a param, null will be returned in the chain and cause crash of
firefox, that's a bug of
firefox.(https://bugzilla.mozilla.org/show_bug.cgi?id=489045) now, let's move forward.
LookupPrefix - Archive of obsolete content
note that all gecko-based browsers (including
firefox) support node.lookupprefix.
....prefix; } if (originalelement.attributes && originalelement.attributes.length) { for (var i=0; i < originalelement.attributes.length; i++) { var att = originalelement.attributes[i]; xmlnspattern.lastindex = 0; var localname = att.localname || att.name.substr(att.name.indexof(':')+1); // latter test for ie which doesn't support localname if (localname.indexof(':') !== -1) { // for
firefox when in html mode localname = localname.substr(att.name.indexof(':')+1); } if ( xmlnspattern.test(att.name) && att.value === namespaceuri && lookupnamespaceuri(originalelement, localname) === namespaceuri ) { return localname; } } } if (originalelement.parentnode) { // entityreferences may have to be skipped to get to it return _lookupnamespaceprefix(namesp...
On page load - Archive of obsolete content
creating an overlay first, you need to create an overlay to one (or more, depending on which applications you target) of the following xul documents: application uri to overlay
firefox chrome://browser/content/browser.xul thunderbird chrome://messenger/content/messenger.xul navigator from seamonkey chrome://navigator/content/navigator.xul attaching a script attach a script to your overlay (see "attaching a script to an overlay") that adds a load event listener to appcontent element (browsers) or messagepane (mail): window.addeventlistener("lo...
... if(doc.location.href.search("forum") > -1) alert("a forum page is loaded"); // add event listener for page unload aevent.originaltarget.defaultview.addeventlistener("unload", function(event){ myextension.onpageunload(event); }, true); }, onpageunload: function(aevent) { // do something } }; current
firefox trunk nightlies will fire the onpageload function for not only documents, but xul:images (favicons in tabbrowser).
Windows - Archive of obsolete content
p-up window that could be "blocked" client-side //the following code generate an error as describe in the following warning box var wm = components.classes["@mozilla.org/appshell/window-mediator;1"] .getservice(components.interfaces.nsiwindowmediator); var newwindow = wm.getmostrecentwindow("navigator:browser"); var b = newwindow.gbrowser; the code generate a typeerror from
firefox console.
...omponents.interfaces.nsiwindowwatcher) .getwindowenumerator(); var index = 1; var windowname = "yourwindowname"; while (wenum.hasmoreelements()) { var win = wenum.getnext(); if (win.name == windowname) { win.focus(); return; } index++ } window.open("chrome://to/your/window.xul", windowname, "features"); uniquely identifying dom windows requires gecko 2.0(
firefox 4 / thunderbird 3.3 / seamonkey 2.1) in gecko, each dom window has a unique 64-bit id number.
Code snippets - Archive of obsolete content
browser-oriented code tabbed browser code (
firefox/seamonkey) basic operations, such as page loading, with the tabbed browser, which is the heart of mozilla's browser applications cookies reading, writing, modifying, and removing cookies page loading code used to load pages, reload pages, and listen for page loads interaction between privileged and non-privileged code how to communicate from extensions to websites and vice-versa.
... autocomplete code used to enable form autocomplete in a browser boxes tips and tricks when using boxes as containers tabbox removing and manipulating tabs in a tabbox windows-specific finding window handles (hwnd) (
firefox) how to use windows api calls to find various kinds of mozilla window handles.
Extension Packaging - Archive of obsolete content
the mime type recognized by
firefox for xpi files is application/x-xpinstall.
...(
firefox 1.5/xulrunner 1.8 required.) from the release of
firefox 53, multiple item extension packages are no longer supported and will not load.
Custom XUL Elements with XBL - Archive of obsolete content
this means that you can change the binding for pretty much any element in
firefox by just adding a css rule!
...you can enrich the ui of a
firefox window by extending and replacing elements, which is what the console² extension does in order to improve the error console window.
MozOrientation - Archive of obsolete content
warning: this experimental api was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3), when support for the standard deviceorientationevent was implemented.
... in
firefox versions 3.6, 4, and 5 gecko utilized mozorientation which was also built to support orientation data but with different apis from the specified deviceorientationevent.
List of Former Mozilla-Based Applications - Archive of obsolete content
d client to a web application autodesk maya 3d modeling tool switched off of gecko for help browser in version 8.5 blam feed reader switched to webkit in version 1.8.6 boxee media center software switched to webkit in version 1.0 epiphany browser switched from gecko to webkit flock social browsing flock switched from being
firefox-based to chromium-based when it released a new beta on june 16, 2010 jolicloud web operating system as of march 2010, rw/w reports jolicloud is on chrome/chrome os joost tv over internet switched from xulrunner-based client to a web application liferea news aggregator switched to webkit in version 1.6 manyone browser browser originally m...
...old article available about how borland embedded mozilla in kylix 2 mango im client last news item on site from january 2007 mobidvd dvd/vcd/cd ripping software site down mozilla suite internet application suite development shifted to
firefox, thunderbird and seamonkey applications netscape navigator browser support for netscape ended on february 1, 2008 nvu web authoring tool development stopped in 2005 and is being continued as an unofficial bugfix release by the kompozer project pogo browser from at&t site no longer accessible as of may 2009 pyro desktop desktop environment ...
cert_override.txt - Archive of obsolete content
this file is used by
firefox, thunderbird, and other xul-based applications.
... since there is no way to add easily an exception in a xulrunner 1.9 project, you can open the page in
firefox, accept the certificate, then copy the cert_override.txt to the xulrunner application profile.
Using content preferences - Archive of obsolete content
firefox 3 introduces the concept of content preferences.
... spellcheck.lang language code (e.g., "en-us") private browsing requires gecko 9.0(
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) prior to gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), the content preference service always stores preferences on disk.
Automated testing tips and tricks - Archive of obsolete content
ontaining 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_dir}/testprofile" next, start
firefox to populate the new profile directory with the rest of the default settings
firefox-bin -p testprofile -chrome chrome://tests/content/quit.xul<code> the above process may exit before the profile is completely created.
...ve command should ensure the profile is created before the next command in the test script is run how to enable dump in a new profile add user_pref("browser.dom.window.dump.enabled", true); to profiledir/user.js how to execute test code with chrome privileges using a chrome doc - see sbtests.xul in http://people.mozilla.com/~davel/scripts/ for an example
firefox-bin -p sbtestprofile -chrome chrome://sbtests/content/ above code calls the quit function in quit.js to exit after test is finished how to detect content onload event from chrome use the domcontentloaded event chromewindow.addeventlistener('domcontentloaded',callbackfunction,false); ...
Locked config settings - Archive of obsolete content
putting into place locked configuration settings this feature exists for mozilla and
firefox, but not for thunderbird locked settings can be put into a mozilla.cfg file in the c:\program files\mozilla.org\mozilla directory.
...this file also needs to be "called" from c:\program files\mozilla.org\mozilla\defaults\pref\all.js by appending the following line at the end: pref("general.config.filename", "mozilla.cfg"); note: newer versions of mozilla or
firefox store the all.js file in greprefs rather than defaults\pref the moz-byteshift.pl script allows to encode...: moz-byteshift.pl -s 13 <mozilla.cfg.txt >mozilla.cfg ...
Drag and Drop - Archive of obsolete content
next » as of gecko 1.9.1 (
firefox 3.5), these apis are officially deprecated the newer, simpler, portable api should be used in their place.
... ondragstart an alias for ondraggesture; this is the html 5 spec name for the event and may be used in html or xul; however, for backward compatibility with older versions of
firefox, you may wish to continue using ondraggesture in xul.
Exception logging in JavaScript - Archive of obsolete content
in versions of
firefox prior to
firefox 3, all javascript exceptions were always logged into the error console if they remained unhandled at the time execution returned back into c++ code.
...exception reporting in
firefox 3
firefox 3 improves reporting of unhandled exceptions by establishing a set of rules that determines whether or not an exception is worth reporting: any methods on interfaces annotated with the [function] attribute in idl (see, for example, nsidomeventlistener) that throw exceptions always report those exceptions into the error console.
Layout FAQ - Archive of obsolete content
=035ffc48 {0,7,330,285} [content=0359ed50] [sc=035ff990]< text(0)@035ffa8c[0,4,t] next=035ffb1c {0,0,330,285} [state=41600020] sc=035ffa3c pst=:-moz-non-element< "\nabc" > frame(br)(1)@035ffb1c {330,225,0,0} [state=00000020] [content=035aebf0] > > the linebox is used to contain everything on a single line: example how do you fix inconsistent float behavior in
firefox involving a two column layout using display:table and floating div elements?
... this is a bug in
firefox.
Code snippets - Archive of obsolete content
this page documents how to perform custom actions with
firefox sync via javascript.
...components.utils.import("resource://services-sync/main.js"); // obtain a reference to the main
firefox window.
Basics - Archive of obsolete content
you can find the console in the extra menu of
firefox.
...tification message.string bodythe messagestringfalse iconthe url of an .ico file.string jetpack.notifications.show("hello world");var mybody = " my first message body on jetpack";var myicon = "http://www.mozilla.com/favicon.ico";jetpack.notifications.show({title: "my first message on jetpack", body: mybody, icon: myicon}); class tabs in this class you can find information about the tabs in your
firefox window.
Simple Storage - Archive of obsolete content
don't abuse these methods, since they cause
firefox -- all of
firefox -- to drop what it's doing to make a trip to the disk.
... if you call them too often,
firefox may become unresponsive for some of your users.
Simple Storage - Archive of obsolete content
don't abuse these methods, since they cause
firefox -- all of
firefox -- to drop what it's doing to make a trip to the disk.
... if you call them too often,
firefox may become unresponsive for some of your users.
Plug-n-Hack Phase1 - Archive of obsolete content
for testing); plug-n-hack requires tool and service manifests to be served from the same origin as the api endpoints but, for testing purposes, ringleader (the
firefox addon implementation of the browser component) allows you to set a preference to relax or disable origin checks.
...security tool commands manifest an example commands manifest (for owasp zap) is: https://code.google.com/p/zap-extensions/source/browse/branches/beta/src/org/zaproxy/zap/extension/plugnhack/resource/service.json
firefox ui in
firefox the tool commands will be made available via the developer toolbar (gcli) https://developer.mozilla.org/docs/tools/gcli a example of how the zap commands are currently displayed is: note that user specified parameters can be specified for commands, which can either be free text, a static pull down list of options or a dynamic list of options obtained from the tool on demand.
Plug-n-Hack - Archive of obsolete content
implementing the above features in
firefox and the tools that we work on and support gives our team an advantage, however we believe that opening up such capabilities to all browsers and all security tools is much more useful for security researchers and application developers and testers.
...the current protocol and
firefox implementation are released under the mozilla public license 2.0 which means it can be incorporated in commercial tools without charge.
BundleLibrary - Archive of obsolete content
only way i found to add the flash plugin to webrunner was to copy my plugins folder from
firefox to the webrunner folder.
...mail: ymail.webapp (note that this fakes a
firefox user agent string while running, which may affect other running web applications.) ...
Scripting - Archive of obsolete content
this file will be loaded into the prism chrome window very much like a
firefox extension is loaded into the browser chrome window.
...currently, the webapp script also has access to full xpcom functionality, just like a
firefox extension.
Proxy UI - Archive of obsolete content
products
firefox menu: preferences > advanced tab > networking tab > connection button.
...for example,
firefox 3: [ ] no proxy [ ] auto-detect proxy settings for this network [ ] manual proxy configuration: [ ] automatic proxy configuration url: behavior default value: "no proxy" is selected all other "type" radio buttons are enabled, but not selected.
[Deprecated] The Mozilla build VM - Archive of obsolete content
thanks to significant improvements in our build environment setup process, it's much simpler and easier to get set up and stay up to date by starting with building
firefox instead.
... you can also ask your getting-started questions in the introduction chat room on matrix, and any
firefox development questions in the developers room.
XTech 2006 Presentations - Archive of obsolete content
microsummaries in
firefox and on the web - myk melez microsummaries are regularly-updated compilations of the most important and timely information on web pages.
... this talk demonstrates how
firefox will incorporate microsummaries into its ui, starting with bookmark labels.
treecol.type - Archive of obsolete content
cbox-check.gif isn't available in
firefox 1, 2, and 3 in mac os x so you should specify a url to an image in your extension or elsewhere.
...cbox-check.gif isn't available in
firefox 1, 2, and 3 in mac os x, so you should specify a url to an image in your extension or elsewhere.
visuallyselected - Archive of obsolete content
« xul reference home visuallyselected type: boolean new in
firefox 40.
... if your code needs to apply some styling to the currently selected tab, this is the attribute you should use from
firefox 40 onwards.
addTab - Archive of obsolete content
firefox 3.6 note the second form of this method was added in
firefox 3.6; it allows you to specify the parameters by name, in any order.
... it also adds the relatedtocurrent parameter;
firefox uses this to decide whether the new tab should be inserted next to the current tab.
appendNotification - Archive of obsolete content
notification box events requires gecko 9.0(
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) if you specify the eventcallback parameter, it should be a javascript function that gets called when interesting things happen related to the notification box.
... // this should work from any
firefox context.
ContextMenus - Archive of obsolete content
for instance, the
firefox browser applies a single context menu to the browser area which displays web pages.
...in
firefox 3.6 and earlier, the document's popupnode property was used; this is now deprecated.
Textbox (XPFE autocomplete) - Archive of obsolete content
for more information about autocomplete textboxes, see the autocomplete documentation (xpfe [thunderbird/seamonkey]) (
firefox) number a textbox that only allows the user to enter numbers.
... note: prior to
firefox 3, and always in thunderbird and seamonkey, the label property of an autocomplete textbox returns its value, for compatibility with the menulist element.
Code Samples - Archive of obsolete content
the samples here are designed to work in
firefox, thunderbird, sunbird and seamonkey, except where the text says otherwise.
...const path = "c:\\windows\\charmap.exe" var file = components .classes["@mozilla.org/file/local;1"] .createinstance(components.interfaces.nsilocalfile) file.initwithpath(path) file.launch() open a web page if your button is in
firefox or seamonkey, use code like this to open a web page.
Cross Package Overlays - Archive of obsolete content
the id of the toolbox changed from "<code>navigator-toolbox</code>" to "<code>browser-toolbox</code>" in
firefox 3 beta 3.
... you can support both
firefox 2 and earlier and
firefox 3 by duplicating the <code><span class="plain">' ..
The Chrome URL - Archive of obsolete content
the following url will refer to the bookmarks window, listed for
firefox: chrome://browser/content/bookmarks/bookmarksmanager.xul you can enter chrome urls anywhere normal urls can be used.
... you can even enter them directly into the url bar in a
firefox browser window.
XUL Questions and Answers - Archive of obsolete content
creating mozsearch plugins contains more help information about creating mozsearch plugin on
firefox 2.
... specifying window.onload function to specify a function to run when the window is loaded,add the following code between the script tags in the xul file: window.addeventlistener("load", function(e) { startup(); }, false); similarly, for onunload use the code: window.addeventlistener("unload", function(e) { shutdown(); }, false); is there an event which is called when the
firefox browser is initialized?
XUL Reference - Archive of obsolete content
cation notificationbox observes overlay page panel param popupset preference preferences prefpane prefwindow progressmeter query queryset radio radiogroup resizer richlistbox richlistitem row rows rule scale script scrollbar scrollbox scrollcorner separator spacer spinbuttons splitter stack statusbar statusbarpanel stringbundle stringbundleset tab tabbrowser (
firefox-only starting with
firefox 3/gecko 1.9) tabbox tabpanel tabpanels tabs template textnode textbox textbox (
firefox autocomplete) textbox (mozilla autocomplete) timepicker titlebar toolbar toolbarbutton toolbargrippy toolbaritem toolbarpalette toolbarseparator toolbarset toolbarspacer toolbarspring toolbox tooltip tree treecell treechildren treecol treecols treeitem tre...
... menuitem menuseparator menupopup panel tooltip popupset toolbar toolbarbutton toolbargrippy toolbaritem toolbarpalette toolbarseparator toolbarset toolbarspacer toolbarspring toolbox tabbox tabs tab tabpanels tabpanel groupbox caption separator spacer button checkbox colorpicker datepicker menulist progressmeter radio radiogroup scale splitter textbox textbox (
firefox autocomplete) textbox (mozilla autocomplete) timepicker description label image listbox listitem listcell listcol listcols listhead listheader richlistbox richlistitem tree treecell treechildren treecol treecols treeitem treerow treeseparator box hbox vbox bbox deck stack grid columns column rows row scrollbox action assign binding bindings conditions conte...
XUL controls - Archive of obsolete content
<tab label="
firefox"/> tab reference related elements: tabs tabbox tabpanels <textbox> a textbox which allows a single line of text to be entered.
... <textbox value="
firefox"/> more information about the textbox element.
notificationbox - Archive of obsolete content
this element is used, for example, to implement the yellow information bar in various
firefox windows.
... finding the current notification box within a
firefox extension, you can retrieve the current notification box for a specific tab by calling the global function getnotificationbox(): notifybox = chromewin.getnotificationbox(notifywindow) notifybox = getnotificationbox(notifywindow) // applies to current context's window object here, chromewin is the xul window (usually just window), and notifywindow is the web content window for the tab you want to find the notification box for.
tabs - Archive of obsolete content
onnewtab not in
firefox type: script code this script will be called when the new tab button is clicked.
... tooltiptextnew not in
firefox type: string used to set the text which appears in the tooltip when the user moves the mouse over the new button in the tab row.
toolbarpalette - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ]
firefox only the item is a palette of available toolbar items.
... you can add your own custom buttons to the
firefox browser by using an overlay that overlays the toolbarpalette with the idbrowsertoolbarpalette.
Application Update - Archive of obsolete content
this article will hopefully explain how to update your xulrunner application using the same method that
firefox, thunderbird, songbird, and chatzilla use.
...this is off in
firefox by default since we show a // upgrade start page instead!
Creating XULRunner Apps with the Mozilla Build System - Archive of obsolete content
the only obvious reason for this would be if you need to implement part of your application in c++, as described in the introduction to the now classic creating custom
firefox extensions with the mozilla build system.
...the public/ and src/ directories that you put in the components/ directory will look the same as for an extension that includes c++ components, so you can use the relevant sections of creating custom
firefox extensions with the mozilla build system as a reference.
XULRunner - Archive of obsolete content
xulrunner is a mozilla runtime package that can be used to bootstrap xul+xpcom applications that are as rich as
firefox and thunderbird.
...
firefox (from version 3) ships with a private xulrunner package, which can run any compatible xulrunner application using the -app switch:
firefox -app application.ini is equivalent to xulrunner -app application.ini older builds are also available.
Mozrunner - Archive of obsolete content
mozrunner also exposes two application specific classes,
firefoxrunner and thunderbirdrunner which record the binary names necessary for the runner class to find them on the system.
... example api usage: from mozrunner import
firefoxrunner # start
firefox on a new profile runner =
firefoxrunner() runner.start() ...
2006-09-29 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - september 22-29, 2006 announcements bon echo 20060921 nightly to recieve "major update" offer mike beltnzer announced that 'users running the bon echo 20060921 nightly build will be offered the chance to upgrade to a "new version"'
firefox start up performance boris zbarsky recently performed some profiling of
firefox's start up - these are some of the details discussions problem handling dmg files on mac discussion about why sometimes dmg files are not mounted correctly after they are downloaded.
...
firefox 2 on windows vista discussion about the "state of affairs" of
firefox 2 on windows vista rc1 - update for rc1 listed in update history as 'install pending' right-click "copy email address" - bug 353102 a proposed bug fix to the 'copy email address' bug how to use the rss feeds discovery & parsing tool in another open source project?
2006-11-24 - Archive of obsolete content
summary: mozilla.dev.apps.
firefox - november 17, 2006 - november 24, 2006 announcements none this week.
... a user questions if there is something broken in a nightly build since the user keeps getting this error from the trunk: "
firefox.exe - application error: the application failed to initialize properly." removal of false positives in
firefox 2 phishing a user inquires how to remove false positives from the
firefox phising filters.
2006-11-10 - Archive of obsolete content
summary: mozilla.dev.builds - november 4th to november 10th 2006 browser buttons november 4th: mojr wants to know if
firefox has a similar feature that the new ie 6 has built in.
... build problem
firefox 2.0 on fc3 november 10th: vin downloaded the latest
firefox 2 rc3 and tried to build it on fc3 with the following options: ./configure --enable-application=browser --prefix=$prefix --enable-extensions=default,spatialnavigation then he tried running "make" and received the following error: /usr/bin/ld: testtarray.o(.text+0x2237): unresolvable relocation against symbol `nstarray_base::semp...
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.l10n - october 20, 2006 announcements sign-off for zh-tw
firefox 2 sign-off for zh-tw
firefox 2 sign off of chinese simplified
firefox 2.0 sign off of simplified chinese
firefox 2 attention dictionary providers, or: warning, amo sucks there was at amo (addons.mozilla.org), which has been being fixed.
...
firefox rc 3 is there, staging servers, too
firefox rc3 build is located here.
2006-11-10 - Archive of obsolete content
trunk / 1_8 for kurdish
firefox the
firefox translations of the kurdish are only in trunk translating the
firefox privacy policy the final and approved en-us version of privacy policy is available here and ready for localization team to translate.
... discussions help about
firefox 3 a discussion on how to syncronise mozilla_1_8_branch with the trunk, which tag should be used to check-in files on trunk, and when files will be pulled from trunk to create another branch (mozilla_1_9_branch?) for
firefox 3.
2006-10-13 - Archive of obsolete content
firefox 1.5.0.x and vista
firefox 1.5.0.x was added to the vista compatibility list
firefox 2 rc3 code freeze the
firefox 2 rc3 code was frozen on oct.
...
firefox feature brainstorming you can help suggest features for
firefox 3 here meetings project meeting a project meeting was held on oct.
2006-10-20 - Archive of obsolete content
firefox 2 release candidate 3 is now available for download ff2 rc3 available for download.
... feature brainstorming +
firefox 3 dria posted a link to the
firefox feature brainstorming list (open to everyone).
2006-10-27 - Archive of obsolete content
announcements
firefox 2.0 available
firefox 2.0 is now available for download.
... visit http://www.get
firefox.com/ discussions
firefox 3 feature prioritizing rudi gens pointed out that hundreds of edits have been done to the
firefox 3 feature brainstorming page.
2006-11-24 - Archive of obsolete content
announcments bon echo status mike beltzner posted a small to-do list with regards to bon echo
firefox 1.5.0.9/2.0.0.1 jay patel posted an update of bugs for the
firefox 1.5.0.9/2.0.0.1 releases discussion non-ascii rendering performance boris zbarsky made some suggestions on how to improve international font rendering cvs commit access changes a large discussion went on about changes to policies surrounding cvs commit access project drivers and technical oversight mike connor suggested ways to better organize project management, policy making, and technical oversight.
... others gave input on this as well meetings because of the
firefox summit last week there is no project status meeting this week november 22 gecko 1.9/gran paradiso status meeting: (agenda) ...
2006-12-01 - Archive of obsolete content
summary: mozilla.dev.quality - november 25-december 1, 2006 announcements need volunteers to maintain jssh for testing on
firefox 2 branch - dave liebreich is looking for someone willing to take responsibility for maintaining jssh for testing purposes.
... discussions none meetings gecko 1.0a1 community test day - there will be a community test day to test an early alpha of the next
firefox release.
2006-11-17 - Archive of obsolete content
discussions how to detect
firefox updates externally?
... micahc asked if there is an easier way to detect if
firefox is installed and fully patched on any given machine, externally.
2006-09-06 - Archive of obsolete content
threading in xpcom rules on threading in xpcom or to
firefox extensions.
... how to build xpcom component on mac os x a tutorial on how to build xpcom component on mac os x
firefox crashes when calling a function provided by a .so library a solution to the problem loading a shared library when using xpcom
firefoxes crashes while getting url in xpcom solutions to resolve the problem of the
firefox crash when trying to get the path and the prepath of the url of the current page in xpcom meetings none during this week.
Multi-process plugin architecture - Archive of obsolete content
in the plugin process, the shim layer serves as a plugin host, implementing the npn_ functions used by the plugin, and forwards the calls to the plugin dll: multi-process plugins, also called out of process plugins or oopp first shipped in
firefox 3.6.4 on windows and linux, and in
firefox 4 on mac os x.
... in addition to crash protection, the multi-process plugin architecture allows
firefox to see plugins which respond very slowly or have completely stopped responding.
Adobe Flash - Archive of obsolete content
as part of mozilla's effort to improve the user experience, a feature was added in
firefox 49 that automatically blocks certain flash modules that have little or no user-noticeable impact from being used.
...and, of course, eventually flash support will be removed from
firefox entirely.
The First Install Problem - Archive of obsolete content
at present plugins registered using the hkey_current_user\software\mozillaplugins\ tree are ignored by
firefox (bug 293062) but this is fixed in trunk builds (bug 293062).
... (it should be noted that the "classid" attribute discussion here is a potential future direction; it doesn't yet work, at least as of
firefox 3.6.8.
Using Firebug and jQuery (Screencast) - Archive of obsolete content
we're going to take an introductory look at the firebug
firefox extension and the jquery javascript library - combining the two to build a reusable bookmarklet that can manipulate digg posts and comments.
... related links: firebug
firefox extension jquery javascript library jquery selector documentation digg learning jquery: jquerify bookmarklet if you wish to use greasemonkey instead of a bookmarklet, then by all means, please do so.
Browser Detection and Cross Browser Support - Archive of obsolete content
for more specific gecko recommendations, please see the gecko compatibility handbook gecko although many web developers are aware of
firefox, mozilla, and netscape browsers, far fewer are aware that these browsers are members of an entire family of user agents based upon the gecko layout engine which includes the commercial browser compuserve 7, and open source browsers such as epiphany, galeon, camino, kmeleon, and seamonkey.
... mozilla-based browsers (such as
firefox), internet explorer 6 on windows, and internet explorer 5 for macintosh all support doctype switching.
Processing XML with E4X - Archive of obsolete content
it's been disabled by default for chrome in
firefox 17, and completely removed in
firefox 21.
...they support javascript's regular dot and [] notation, but instead of accessing object properties e4x overloads these operators to access the element's children: var person = <person> <name>bob smith</name> <likes> <os>linux</os> <browser>
firefox</browser> <language>javascript</language> <language>python</language> </likes> </person>; alert(person.name); // bob smith alert(person['name']); // bob smith alert(person.likes.browser); //
firefox alert(person['likes'].browser); //
firefox if you access something with more than one matching element, you get back an xmllist: alert(person.likes.language.length()); // 2 as with the...
E4X - Archive of obsolete content
it has been disabled by default for webpages (content) in
firefox 17, disabled by default for chrome in
firefox 20, and has been removed in
firefox 21.
... note: in gecko 1.8 based browsers such as
firefox 1.5, e4x is already partially enabled for web page authors.
LiveConnect - Archive of obsolete content
older versions of gecko included special support for the java<->javascript bridge (such as the java and packages global objects), but as of mozilla 16 (
firefox 16 / thunderbird 16 / seamonkey 2.13) liveconnect functionality is provided solely by the oracle's java plugin.
... java in
firefox extensions community view mozilla.dev.tech.java forums...
MSX Emulator (jsMSX) - Archive of obsolete content
the initial motivation was to find some interesting project to develop while exploring the possibilities of the <canvas> tag and javascript language in the most recent web browsers like
firefox 2.
...external links view the online demo (requires
firefox 2+) jsmsx project see also drawing graphics with canvas canvas tutorial jsc64 the 100% javascript / canvas commodore 64 emulator ...
Window.importDialog() - Archive of obsolete content
this function was only available in the original, xul-based version of
firefox for android, which is no longer supported; for that reason, this function is obsolete and should never be used.
... summary because opening windows on mobile isn't necessarily appropriate, the
firefox mobile team designed the importdialog() method to replace window.opendialog().
XForms Custom Controls - Archive of obsolete content
since
firefox 4, xbl and xul are disabled by default for all pages not loaded from a chrome:// url.
... of the instance node bound to this control --> var img = document.getanonymouselementbyattribute(this, "anonid", "content"); img.setattribute("src", this.stringvalue); return true; </body> </method> </implementation> </binding> </bindings> <xf:model> <xf:instance xmlns=""> <data> <curimg></curimg> <img label="
firefox">http://www.mozilla.com/images/
firefox-logo-64x64.png</img> <img label="thunderbird">http://www.mozilla.com/images/thunderbird-logo-64x64.png</img> <img label="bugzilla">http://www.mozilla.org/images/p-bugz.gif</img> <img label="mozilla">http://www.mozilla.org/images/mozhead-80x64.gif</img> </data> </xf:instance> </xf:model> <style type="text/css"> @namespace xf url...
Describing microformats in JavaScript - Archive of obsolete content
for
firefox 3, this should be set to 0.8.
... the microformat is registered with the microformat api by calling microformats.add(), like this: microformats.add("adr", adr_definition); note: to be clear: since the adr microformat is included by default in
firefox 3 and later, you don't need to add it yourself if you wish to make use of it.
XQuery - Archive of obsolete content
while xquery is currently not supported in
firefox (whether through javascript to developers or to browser users), at least one extension has been developed to give a preliminary support for xquery for browser users (and serving as a simple model for how xquery can be implemented within extensions).
... however, use of the approach of the java
firefox extension might be used to turn the above extension concept into an xpcom component (giving it access to all open windows), and for berkeley db xml, possibly implementing it in c++ instead, which is that database's original language of development.
Unconventional controls - Game development
interestingly enough, the first captain rogers game (asteroid belt of sirius) was optimized for low-end, small-screen, cheap smartphones running
firefox os, so you can see the difference three years can make — you can read the whole story in our building games for
firefox os tv hacks post.
...you can also check this handy cheat sheet seen below if you're working with panasonic tvs running
firefox os: you can add moving between states, starting a new game, controlling the ship and blowing stuff up, pausing and restarting the game.
Plug-in Development Overview - Gecko Plugin API Reference
starting in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7), you can get the origin of the document in a secure, convenient way by calling npn_getvalue() to retrieve the value of the variable npnvdocumentorigin.
... installing plug-ins plug-ins should not be installed into the
firefox directory.
Request header - MDN Web Docs Glossary: Definitions of Web-related terms
a few request headers after a get request: get /home.html http/1.1 host: developer.mozilla.org user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101
firefox/50.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip, deflate, br referer: https://developer.mozilla.org/testpage.html connection: keep-alive upgrade-insecure-requests: 1 if-modified-since: mon, 18 jul 2016 02:36:04 gmt if-none-match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a" cache-control: max-age=0 strictly speaking...
..., the content-length header in this example is not a request header like the others, but an entity header: post /myform.html http/1.1 host: developer.mozilla.org user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101
firefox/50.0 content-length: 128 learn more technical knowledge list of all http headers ...
Vendor Prefix - MDN Web Docs Glossary: Definitions of Web-related terms
css prefixes the major browsers use the following prefixes: -webkit- (chrome, safari, newer versions of opera, almost all ios browsers including
firefox for ios; basically, any webkit based browser) -moz- (
firefox) -o- (old pre-webkit versions of opera) -ms- (internet explorer and microsoft edge) sample usage: -webkit-transition: all 4s ease; -moz-transition: all 4s ease; -ms-transition: all 4s ease; -o-transition: all 4s ease; transition: all 4s ease; api prefixes historically, vendors have also used prefixes for experimental apis.
... interface prefixes prefixes for interface names are upper-cased: webkit (chrome, safari, newer versions of opera, almost all ios browsers (including
firefox for ios); basically, any webkit based browser) moz (
firefox) o (older, pre-webkit, versions of opera) ms (internet explorer and microsoft edge) property and method prefixes the prefixes for properties and methods are lower-case: webkit (chrome, safari, newer versions of opera, almost all ios browsers (including
firefox for ios); basically, any webkit based browser) moz (
firefox) o (old...
XInclude - MDN Web Docs Glossary: Definitions of Web-related terms
when used in conjunction with xpointer (
firefox supports a subset of it, and is used in the code sample below), xinclude can also target just specific portions of a document for inclusion.
...
firefox does not support it natively, but the following function aims to allow its use with documents passed into it.
MDN Web Docs Glossary: Definitions of Web-related terms
ript effective connection type element empty element encapsulation encryption endianness engine entity entity header event exception expando f fallback alignment falsy favicon fetch directive fetch metadata request header
firefox os firewall first contentful paint first cpu idle first input delay first interactive first meaningful paint first paint first-class function flex flex container flex item flexbox forbidden header name forbidden response header name fork fragmentainer ...
...markup mathml media media (audio-visual presentation) media (css) metadata method microsoft edge microsoft internet explorer middleware mime mime type minification mitm mixin mobile first modem modern web apps modularity mozilla
firefox mutable mvc n namespace nan nat native navigation directive netscape navigator network throttling nntp node node (dom) node (networking) node.js non-normative normative null nullish value number o ...
Flexbox - Learn web development
to get started, you should make a local copy of the first starter file — flexbox0.html from our github repo — load it in a modern browser (like
firefox or chrome), and have a look at the code in your code editor.
... button { flex: 1 auto; margin: 5px; font-size: 18px; line-height: 1.5; } cross browser compatibility flexbox support is available in most new browsers —
firefox, chrome, opera, microsoft edge and ie 11, newer versions of android/ios, etc.
Styling links - Learn web development
; padding: 2px 1px 0; } a:link { color: #265301; } a:visited { color: #437a16; } a:focus { border-bottom: 1px solid; background: #bae498; } a:hover { border-bottom: 1px solid; background: #cdfeaa; } a:active { background: #265301; color: #cdfeaa; } we'll also provide some sample html to apply the css to: <p>there are several browsers available, such as <a href="#">mozilla
firefox</a>, <a href="#">google chrome</a>, and <a href="#">microsoft edge</a>.</p> putting the two together gives us this result: so what did we do here?
... playable code <div class="body-wrapper" style="font-family: 'open sans light',helvetica,arial,sans-serif;"> <h2>html input</h2> <textarea id="code" class="html-input" style="width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;"><p>there are several browsers available, such as <a href="#">mozilla
firefox</a>, <a href="#">google chrome</a>, and <a href="#">microsoft edge</a>.</p></textarea> <h2>css input</h2> <textarea id="code" class="css-input" style="width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;">a { } a:link { } a:visited { } a:focus { } a:hover { } a:active { }</textarea> <h2>output</h2> <div class="output" style="width: 90%;height: 10em;padding: 10px;b...
JavaScript basics - Learn web development
rename the image
firefox2.png.
...javascript from the earlier exercise.) let myimage = document.queryselector('img'); myimage.onclick = function() { let mysrc = myimage.getattribute('src'); if(mysrc === 'images/
firefox-icon.png') { myimage.setattribute('src','images/
firefox2.png'); } else { myimage.setattribute('src','images/
firefox-icon.png'); } } save all files and load index.html in the browser.
Creating hyperlinks - Learn web development
let's look at a specific example: good link text: download
firefox <p><a href="https://
firefox.com/"> download
firefox </a></p> bad link text: click here to download
firefox <p><a href="https://
firefox.com/"> click here </a> to download
firefox</p> other tips: don't repeat the url as part of the link text — urls look ugly, and sound even uglier when a screen reader reads them out letter by letter.
...here's an example with a download link to the latest windows version of
firefox: <a href="https://download.mozilla.org/?product=
firefox-latest-ssl&os=win64&lang=en-us" download="
firefox-latest-64bit-installer.exe"> download latest
firefox for windows (64-bit) (english, us) </a> active learning: creating a navigation menu for this exercise, we'd like you to link some pages together with a navigation menu to create a multi-page website.
What’s in the head? Metadata in HTML - Learn web development
for example, if you try bookmarking the page (bookmarks > bookmark this page or the star icon in the url bar in
firefox), you will see the <title> contents filled in as the suggested bookmark name.
...it also documents mozilla products, like
firefox os."> <meta property="og:title" content="mozilla developer network"> one effect of this is that when you link to mdn web docs on facebook, the link appears along with an image and description: a richer experience for users.
Responsive images - Learn web development
when testing it with a mobile browser, you can use tools like
firefox's about:debugging page to inspect the page loaded on the mobile using the desktop developer tools.
... to see which images were loaded, you can use
firefox devtools's network monitor tab.
Measuring performance - Learn web development
these can generally be classified into two categories: tools that indicate or measure performance, such as pagespeed insights or the
firefox network monitor and performance monitor.
...for example, the
firefox network monitor returns detailed information on all the assets downloaded form the network, along with a time graph that shows how long each one took to download.
Client-Server Overview - Learn web development
for example, you can see here that: my browser (user-agent) is mozilla
firefox (mozilla/5.0).
...most modern browsers also have tools that monitor network requests (for example, the network monitor tool in
firefox).
Links and Resources
html advanced validator (
firefox extension) by marc gueury this advanced html validator (based on w3c tidy and on opensp for sgml validation - just like w3c html validator) is a free, powerful, versatile, extended html validator.
... this html advanced validator may also be downloaded from
firefox add-ons: html validator.
Lightweight themes
how to create your own lightweight theme lightweight themes are made up of a "header" graphic image file, which skins the default
firefox ui background.
...
firefox may reveal more of the lower portion of the image if another toolbar or other ui element is added to the top of the window.
Adding a new word to the en-US dictionary
occasionally bugs are filed pointing out situations where perfectly legitimate words are missing from the english spell check dictionary in
firefox.
... build
firefox and test your updated dictionary.
Adding phishing protection data providers
phishing protection technology lets
firefox help protect users by comparing the urls the user visits to a list of known scam sites, and presenting a warning to the user when they visit a site on the list.
...the data provider with the id number 0 is the default data provider shipped with
firefox.
What to do and what not to do in Bugzilla
mozilla applications like the application suite, thunderbird, or
firefox share most of their program code and all of the backend code including things like network connectivity (ftp, http, imap) and html rendering.
... make sure that you also test thunderbird or
firefox bugs with the application suite and move the bug to one of the core products, if the bug also exists in the application suite.
Creating Sandboxed HTTP Connections
introduction starting with gecko 1.8.1 (
firefox 2), it is possible to create sandboxed http connections which don't affect the user's cookies.
...as of mozilla 1.8.1 (
firefox 2), it is now possible to intercept those two cases.
Debugging OpenGL
if you start up
firefox with this variable defined, the following behavior changes occur: each time you issue an opengl call, a check is performed to ensure that the gl context is current, using a thread-local static variable to keep track of this.
... the moz_gl_debug_abort_on_error environment variable, if set, causes
firefox to abort as soon as an opengl error occurs.
Debugging update problems
checking update requests if you're debugging the application update feature in
firefox or other mozilla applications, you may need to see what requests are occurring.
...that url might look something like: https://aus3.mozilla.org/update/3/
firefox/12.0a1/20120106040225/darwin_x86_64-gcc3-u-i386-x86_64-shark/nightly-profiling/darwin%2010.8.0/default/default/update.xml?force=1 you can then request this url manually to see what's inside.
Debugging
replay debugging
firefox with vmware workstation how to setup record and replay debugging on
firefox, to help debug intermittent mochitest failures.
... detecting defects in
firefox with coverity coverity is a static analysis system that can detect defects in
firefox.
Adding APIs to the navigator object
starting with gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), you can easily add new apis to the window.navigator object by using the category manager.
... real-world example you can see an example of how this is used in
firefox by taking a look at how the mozapps api is implemented: dom/apps/webapps.manifest dom/apps/webapps.js ...
Gecko Logging
for example, if you want to specify "sync", "timestamp" and "rotate": set moz_log="example_logger:3,timestamp,sync,rotate:10" to adjust the logging after
firefox has started, you can set prefs under the logging.
...in
firefox 57 and later, you can use rust_log_child to specify log settings that will only apply to child processes.
Process scripts
process scripts are new in
firefox 38.
... for example, in multiprocess
firefox, if you need to use nsicontentpolicy to register a content policy, you must do this in the content process.
Message manager
these guides explain how to use message managers in multiprocess
firefox.
... note that none of this requires multiprocess
firefox: everything described here will work with single-process
firefox, so the same code will work on both variants.
Site Identity Button
the site identity button is a feature in
firefox that gives users more information about the sites they visit.
... if the site identity button on your site shows something you do not expect (for example, an orange warning triangle when you expect a green padlock) you can find out the cause of the problem by looking in the web console in the
firefox developer tools: ensure your web console is displaying messages in the 'security' category force-refresh the page on your site that is causing problems watch for any security messages that may appear a downgraded security ui will be due to one of these three problems: mixed content - while your page has been served over tls, but subresources loaded for your page have not.
mozbrowserloadend
non-standard this feature is not on a current w3c standards track, but it is supported on the
firefox os platform.
... although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to
firefox os apps.
HTMLIFrameElement.purgeHistory()
warning: removed in
firefox 65.
... note: to delete cookies for a
firefox os app, you could call clearbrowserdata() on the actual app itself.
Getting Started with Chat
for example, do not talk about thunderbird issues in #
firefox.
... channels here is a list of channels you should be aware of as a member of the mozilla community: (remember to use irc.mozilla.org and port 6697 or 6667 for your server settings) #qa a channel for qa discussion #developers a channel for mozilla development discussion #sumo a channel for support with
firefox for more information about the mozilla irc network and more channels, go here.
Implementing Download Resuming
the interfaces in question exist in the form they are described here since gecko 1.8a4 (
firefox 1.5, seamonkey 1.0, xulrunner 1.8.0.1).
... note: in versions of
firefox prior to 3.0 alpha 7, nsiwebbrowserpersist cannot append to existing files (as opposed to overwriting them), and is therefore not usable for this task (see bug 129921).
AddonManager
scope_application 4 this add-on is a part of the current application (installed and owned by
firefox).
...starting in
firefox 8, you can also set the value of the preference extensions.autodisabledscopes to prevent
firefox from automatically installing add-ons from the specified scopes.
Dict.jsm
introduced in
firefox 5, this is now obsolete and has been removed in
firefox 40: use es2015 map.
... in
firefox 19 and above, you may also pass a json string to initialize the dictionary: var somejson = '{key1: "foo", key2: {}}'; var newdict = new dict(somejson); note: any string you pass will be assumed to be json.
Downloads.jsm
close the message to stop."); } finally { yield list.remove(download); yield download.finalize(true); } } finally { yield list.removeview(view); } }).then(null, components.utils.reporterror); conversion from nsidownloadmanager starting in
firefox for desktop version 26, the nsidownloadmanager and nsidownload interfaces are not available anymore.
... using it in a xul app in a xul standalone application (running with xulrunner or
firefox --app), you have to do additionnal things in order to use the new download manager.
Interfacing with the Add-on Repository
enabling the recommendation feature in current builds of
firefox 4, the recommendation api doesn't work because the preference for the url to query to get recommended add-ons is not included by default; see bug 628785.
...ice); var prefbranch = prefsservice.getbranch("extensions."); var recurl = ""; try { recurl = prefbranch.getcharpref("getaddons.recommended.url"); } catch(e) { recurl = ""; } if (recurl == "") { prefbranch.setcharpref("getaddons.recommended.url", "https://services.addons.mozilla.org/%locale%/%app%/api/%api_version%/list/recommended/all/%max_results%/%os%/%version%?src=
firefox"); prefsservice.savepreffile(null); } this fetches the value of the extensions.getaddons.recommended.url preference, and, if the preference doesn't exist or has no value, sets the value of the preference to the correct one for the amo site.
OS.File.Info
(as of
firefox 38 this is always true on all systems, this is a bug: bugzilla 1145885) (on windows this returns false for hard links) size the number of bytes in the file.
...(as of
firefox 38 this attribute is not found, see screen shots below, bugzilla :: bug 1156060) screenshot of info object in variable viewer macosx 10.10.1 ubuntu 14.04.1 windows 8.1 see also os.file.directoryiterator.entry ...
Examples
= myuserdefinedpromise(); mypromise.then( function(asuccessreason) { alert('mypromise was succesful and reason was = "' + asuccessreason + '"'); }, function(arejectreason) { alert('mypromise failed for reason = "' + uneval(arejectreason) + '"'); } ); function myuserdefinedpromise() { try { var mysubpromises = []; var imagepaths = ['http://www.mozilla.org/media/img/
firefox/favicon.png', 'https://developer.cdn.mozilla.net/media/redesign/img/favicon32.png']; [].foreach.call(imagepaths, function(path) { let myimage = new image(); let loadthisimagepromise = promise.defer(); mysubpromises.push(loadthisimagepromise.promise); myimage.onload = function() { loadthisimagepromise.resolve('succesfully loaded image at path = "' + path + '" th...
...change this line: var imagepaths = ['http://www.mozilla.org/media/img/
firefox/favicon.png', 'https://developer.cdn.mozilla.net/media/redesign/img/favicon32.png']; change it to: var imagepaths = ['http://www.mozilla.org/media/img/
firefox/favicon.png', 'https://developer.cdn.mozilla.net/media/redesign/img/favicon32.png', 'blah blah']; i added 'blah blah' to that array, it will cuase the whole promise to reject.
Using workers in JavaScript code modules
it works exactly like a standard worker, except that it has access to js-ctypes via a global ctypes object available in the global scope of the worker obsolete since gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5)this feature is obsolete.
... note: as of gecko 8.0, the nsiworkerfactory interface has been removed starting in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), you can use workers in javascript code modules (jsms).
source-editor.jsm
this component has been removed from the platform in
firefox 28.
...this is deprecated starting in
firefox 13; use initialtext instead.
JavaScript code modules
for example, a module could be used by
firefox itself as well as by extensions, in order to avoid code duplication.
... customizableui.jsm allows you to interact with customizable buttons and items in
firefox's main window ui.
Localizing extension descriptions
because a new method for doing so was implemented in gecko 1.9 (
firefox 3), there are two sets of instructions below.
... localizing before gecko 1.9 before gecko 1.9, add-on developers must go through a special process to define localized add-on descriptions for add-ons targeting toolkit-based apps (such as
firefox or thunderbird).
Localizing with Pontoon
at mozilla, we use pontoon to localize all mozilla products and websites, ranging from
firefox to mozilla.org.
...note that for our purposes here, we'll be using
firefox affiliates website to demo pontoon's functionality and workflow.
Patching a Localization
the steps below are fairly generic; for the most part they apply to creating l10n patches for
firefox, thunderbird, seamonkey, or calendar.
... i'll use
firefox in the example below to help you understand the general steps to creating a l10n patch.
Initial setup
compare-locales compare-locales is a python script that helps you check your work without needing to run
firefox or another application.
...you can install either by searching for them in
firefox's add-ons manager or following these links.
Localization quick start guide
when we get to specific examples, we'll take them from the
firefox project, as it is the most widely localized project within mozilla.
... as you near the end of this guide, you should be able to make a change to
firefox in your local setting and then see that change in the
firefox interface.
Fonts for Mozilla's MathML engine
firefox os you must use the mathml-fonts add-on.
... dejavu math tex gyre garamond math (under development) latin modern math libertinus math lucida bright math minion math stix math tex gyre bonum math tex gyre pagella math tex gyre schola math tex gyre termes math xits math fira math (sans-serif typeface, under development) gfs neohellenic math (sans-serif typeface) using mathematical fonts on web pages starting with gecko 31.0 (
firefox 31.0 / thunderbird 31.0 / seamonkey 2.28), it is now easy to set up the css style (and optional woff fonts) to use on your web site.
Mozilla MathML Status
the user interface works correctly in seamonkey but not in
firefox.
...the mathvariant attribute is fully supported starting with (
firefox 28.0 / thunderbird 28.0 / seamonkey 2.25).
Updates
march 22, 2011
firefox 4.0 has been released!
... may 8, 2007 mozilla ceo speaks out on the future of
firefox: the complete 8,000 word interview.
Are We Slim Yet
since
firefox transitioned to using multiple processes by default, we moved awsy into the taskcluster infrastructure.
... as new processes are added to
firefox we want to make sure their memory usage is also tracked by awsy.
GPU performance
works reasonably well with
firefox.
...not that useful for
firefox because all of our shaders are pretty simple.
Memory Profiler
firefox developer tools now has a built-in memory profiler.
... this article details how to use an old profiler specifically designed for
firefox os devices.
Scroll-linked effects
in all cases, however,
firefox will display a warning to the developer console (starting in version 46) if it detects the presence of a scroll-linked effect on a page.
...see the asynchronous scrolling in
firefox blog post for some more examples of effects that can be implemented using css to avoid jank.
tools/power/rapl
invocation first, do a standard build of
firefox.
... combining with powermetrics on mac, you can use the mach power command to run rapl in combination with powermetrics in a way that gives the most useful summary measurements for each of
firefox, chrome and safari.
javascript.options.showInConsole
type:boolean default value: false (true in debug builds) exists by default: yes application support:
firefox 1.0 status: active introduction:2002-02-26 bugs: bug 125181 bug 337875 values false only errors and warnings from content code are shown.
... note: since the web console was introduced in
firefox 4 specifically for debugging content, the default value for this preference has changed to true as of gecko 2.0.
Preference reference
the xul cache is serialized and saved between mozilla sessions in the xul fastload file, which saves a “compiled” version of the xul and javascript in a document to disk for faster startup the next time the application runs.reader.parse-on-load.force-enabledthe preference reader.parse-on-load.force-enabled controls if the reader mode used in
firefox mobile should be enabled independent of the memory available in the device.
... by default, the reader mode in
firefox mobile is only enabled if the memory is greater than 384mb.ui.alertnotificationoriginui.alertnotificationorigin controls the position and direction from which popup notifications invoked by nsialertsservice are sliding in.ui.spellcheckerunderlineui.spellcheckerunderline holds the colour which is used to underline words not recognized by the spellchecker.ui.spellcheckerunderlinestyleui.spellcheckerunderlinestyle holds the style which is used to underline words not recognized by the spellchecker.ui.textselectbackgroundui.textselectbackground saves the color in which the background of a text selection in the user interface or in content will be styled.ui.textselectforegroundui.textselectforeground saves the color in which the text of a text selection in the us...
Research and prep
ensure that your suggestions follow these parameters: search there are typically five search plug-ins listed for
firefox desktop (only four for
firefox mobile): generic search the default option should expose the quickest path to the best result on the world wide web for the user (indexing a large portion of the global www).
... rss readers and content handlers productization for rss readers and content handlers applies only to
firefox desktop.
Productization guide
for example, we ship
firefox with 6 or 7 search engine plug-ins to make users’ lives easier when they’re looking for information, translation, products, multimedia, spelling and definitions, etc.
...for example, putting one sample news feed on the bookmarks toolbar in new profiles in
firefox helps in learning about the live bookmarks.
Crash reporting
firefox ships with an open-source crash reporting system.
... see also understanding crash reports a guide to searching crash reports crash-stats crash pings (telemetry) and crash reports (socorro/crash stats) building
firefox with debug symbols environment variables affecting crash reporting in-code documentation crash reporter crash manager crash ping ...
NSS Key Log Format
note: starting with nss 3.24 (used by
firefox 48 and 49 only), the sslkeylogfile approach is disabled by default for optimized builds using the makefile (those using gyp via build.sh are not affected).
... distributors can re-enable it at compile time though (using the nss_allow_sslkeylogfile=1 make variable) which is done for the official
firefox binaries.
NSS_3.12_release_notes.html
note:
firefox 3 uses nss 3.12, but not the new sqlite-based shareable certificate and key databases.
... we missed the deadline to enable that feature in
firefox 3.
NSS 3.53 release notes
nss 3.53 will be a long-term support release, supporting
firefox 78 esr.
...vsx vector instructions bug 1639033 - fix various compile warnings in nss bug 1640041 - fix a null pointer in security/nss/lib/ssl/sslencode.c:67 bug 1640042 - fix a null pointer in security/nss/lib/ssl/sslsock.c:4460 bug 1638289 - avoid multiple definitions of sha{256,384,512}_* symbols when linking libfreeblpriv3.so in
firefox on ppc64le bug 1636389 - relocate deprecated seed algorithm bug 1637083 - lib/ckfw: no such file or directory.
SpiderMonkey compartments
compartment example the
firefox browser embeds spidermonkey.
... in
firefox 4 and above, compartments are used and all javascript objects that belong to a certain origin (such as "http://mail.google.com/" or "http://www.bank.com/") are placed in a separate compartment.
Getting SpiderMonkey source code
the following command line downloads the entire mozilla repository, including the full change history and a lot of gecko and
firefox source code that isn't part of spidermonkey.
... getting the latest spidermonkey source code from git the following command line downloads the entire mozilla repository, including the full change history and a lot of gecko and
firefox source code that isn't part of spidermonkey.
Introduction to the JavaScript shell
note: starting with spidermonkey 44 (
firefox 44 / thunderbird 44 / seamonkey 2.41), the standard, web-compatible javascript version is used by default (and not js1.7+ anymore).
...from a bash console when using a pre-compiled binary, try <path to your
firefox's run-mozilla.sh>/run-mozilla.sh ./js -- that worked for me] if you'd like to run the javascript code in the file foo.js, you can use this command: js foo.js to run foo.js then drop into the interactive shell, do this: js -f foo.js -i reference note: because the javascript shell is used as a test environment for the javascript engine, the available options and built-in functions can cha...
SpiderMonkey 1.8.5
spidermonkey 1.8.5 is the javascript engine that shipped in
firefox 4.0.
... —22 march 2011 platform support spidermonkey 1.8.5 is supported on all the platforms where
firefox 4 runs.
SpiderMonkey 1.8.7
spidermonkey 1.8.5 is the javascript engine that shipped in
firefox 4.0.
... —22 march 2011 platform support spidermonkey 1.8.7 is supported on all the platforms where
firefox 10 runs.
SpiderMonkey 1.8.8
spidermonkey 1.8.8 is the javascript engine that shipped in
firefox 10.0.
... —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.
SpiderMonkey 17
spidermonkey 17 is the javascript engine that shipped in
firefox 17.
... — 25 march 2013 platform support spidermonkey 17 is supported on all the platforms where
firefox 17 runs.
SpiderMonkey 24
you can download full source code here: https://ftp.mozilla.org/pub/mozilla.org/js/mozjs-24.2.0.tar.bz2 (sha1: ce779081cc11bd0c871c6f303fc4a0091cf4fe66) spidermonkey 24 is the javascript engine that shipped in
firefox 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.
SpiderMonkey 31
spidermonkey 31 is the javascript engine that shipped in
firefox 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.
SpiderMonkey 38
spidermonkey 38 is the javascript engine that shipped in
firefox 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.
SpiderMonkey 45
you can download full source code from https://ftp.mozilla.org/pub/spidermonkey/releases/45.0.2/mozjs-45.0.2.tar.bz2 sha256: 570530b1e551bf4a459d7cae875f33f99d5ef0c29ccc7742a1b6f588e5eadbee md5: 2ca34f998d8b5ea79d8616dd26b5fbab spidermonkey 45 is the javascript engine that shipped in
firefox 45.
... — apr 14, 2016 platform support spidermonkey 45 is supported on all platforms able to run
firefox 45.
SpiderMonkey: The Mozilla JavaScript runtime
it is used in various mozilla products, including
firefox, and is available under the mpl2.
... js debugger api reference api reference for the debugger object introduced in spidermonkey 1.8.6, which corresponds to gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5).
Exploitable crashes
the last number, in this case 0x00000000, is the memory address
firefox was prevented from accessing.
... any other crash where
firefox tries to use memory it does not have access to indicates some kind of memory safety bug.
Pinning violation reports
if a site makes use of key pinning, and your browser sees a certificate chain for that site which does not match the pin,
firefox will reject the connection and display an error page.
... the error page displayed by
firefox when you encounter a pin violation gives you the option of reporting this error.
Querying Places
example of querying for any pages i've visited that contain the word "
firefox" in the title/url or that i've visited today from mozilla.org.
... // first query object searches for "
firefox" in title/url var query1 = placesutils.history.getnewquery(); query1.searchterms = "
firefox"; // second query object searches for visited in past 24 hours and from mozilla.org var query2 = placesutils.history.getnewquery(); query2.begintimereference = query2.time_relative_now; query2.begintime = -24 * 60 * 60 * 1000000; // 24 hours ago in microseconds query2.endtimereference = query2.time_relative_now; query2.endtime = 0; // now query2.domain = "mozilla.org"; var result = placesutils.history.executequeries([query1, query2], 2, options); note: keyword searching doesn't work correctly across or queries.
Using the Places annotation service
the annotation service, provided by the nsiannotationservice interface, is designed to store arbitrary data about a web page or about an item in the places database in
firefox 3.
... it is usable from trusted
firefox code such as extensions, but not from web pages.
FUEL
fuel is deprecated as of
firefox 40 and removed as of
firefox 47.
...fuel is new in
firefox 3.
extIExtension
implemented via xpcom service for extiapplication: see the instructions on the fuel (
firefox), steel (thunderbird) and smile (seamonkey) pages.
...also, see the fuel (
firefox), steel (thunderbird) and smile (seamonkey) pages.
extIPreferenceBranch
implemented via xpcom service for extiapplication: see the instructions on the fuel (
firefox), steel (thunderbird) and smile (seamonkey) pages.
... see bug 481044 void reset() parameters return value examples var myext = application.extensions.get('myapplicationid'); function myfunc (event) { application.console.log('change!'); }; myext.prefs.get("myprefname").events.addlistener("change", myfunc); see also fuel (
firefox), steel (thunderbird) and smile (seamonkey) known issues bug 488587 - function registered as fuel preference listener not always called ...
extISessionStorage
implemented via xpcom service for extiapplication: see the instructions on the fuel (
firefox), steel (thunderbird) and smile (seamonkey) pages.
... see also fuel (
firefox), steel (thunderbird) and smile (seamonkey) ...
Receiving startup notifications
receiving startup notifications in gecko 2.0 (
firefox 4) and later in order to improve startup times, changes were made to the xpcom startup process.
...receiving startup notifications prior to gecko 2.0 (
firefox 4) to receive startup notifications, one needs to register with the "app-startup" category using nsicategorymanager; having done so, the component will receive these startup notifications, including: xpcom-startup sent when xpcom finishes starting up.
Components.utils.reportError
function mydump(amessage) { var consoleservice = components.classes["@mozilla.org/consoleservice;1"] .getservice(components.interfaces.nsiconsoleservice); consoleservice.logstringmessage("my component: " + amessage); }
firefox 3: the error console will not display chrome errors by default.
...
firefox 4: the preference 'javascript.options.showinconsole' is set to true by default in this version.
xpcshell
$ locate run-mozilla.sh /usr/lib/
firefox-0.10.1/run-mozilla.sh /usr/lib/thunderbird-0.9/run-mozilla.sh /usr/local/mozilla/run-mozilla.sh /opt/mozilla/run-mozilla.sh /root/.trash/mozilla/run-mozilla.sh just pick one, cd over there, and run-mozilla.sh xpcshell, if it's present.
... (however, it might not be there if you have a non-debug version of
firefox, mozilla, thunderbird, etc.) $ cd /opt/mozilla $ ./run-mozilla.sh ./xpcshell js> execute xpcshell from window the built xpcshell.exe can't be executed under the mozilla build shell(bash).
amIWebInstallInfo
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void install(); attributes attribute type description installs nsivariant an array of addoninstall objects.
... note: prior to gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5), this was an nsidomwindowinternal.
imgIContainerObserver
1.0 66 introduced gecko 1.7 inherits from: nsisupports last changed in gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9) if you wish to listen for activities on an imgicontainer, you should implement the framechanged() method.
... notes the arequest parameter was added to this method in gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9).
imgIEncoder
1.0 66 introduced gecko 1.8 inherits from: nsiasyncinputstream last changed in gecko 1.9 (
firefox 3) method overview void addimageframe( [array, size_is(length), const] in pruint8 data, in unsigned long length, in pruint32 width, in pruint32 height, in pruint32 stride, in pruint32 frameformat, in astring frameoptions); void encodeclipboardimage(in nsiclipboardimage aclipboardimage, out nsifile aimagefile); obsolete since gecko 1.9 void endimageencode(); void initfromdata([array, size_is(length), const] in pruint8 data, in unsigned long length, in pruint32 width, in pruint32 height, in pruint32 stride, in pruint32 inputformat, in astring outputoptions); void ...
...frameformat missing description frameoptions missing description encodeclipboardimage() obsolete since gecko 1.9 (
firefox 3) void encodeclipboardimage( in nsiclipboardimage aclipboardimage, out nsifile aimagefile ); parameters aclipboardimage missing description aimagefile missing description endimageencode() void endimageencode(); parameters none.
mozIStorageConnection
1.0 68 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) for a general overview on how to use this interface, see storage.
... preload() obsolete since gecko 1.9 (
firefox 3) this is used to preload the database cache.
mozIStorageFunction
last changed in gecko 1.9.1.4 (
firefox 3.5.4) inherits from: nsisupports method overview nsivariant onfunctioncall(in mozistoragevaluearray afunctionarguments); methods onfunctioncall() the implementation of the function.
... javascript starting in gecko 1.9.1.4 (
firefox 3.0.15), you can directly pass your function into the mozistorageconnection method mozistorageconnection, like this: dbconn.createfunction("square", 1, function(aarguments) { let value = aarguments.getint32(0); return value * value; }); // run some query that uses the function.
mozIStorageStatement
inherits from: mozistoragevaluearray last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) for an introduction on how to use this interface, see the storage overview document.
... methods initialize() obsolete since gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) note: this method has been removed for gecko 1.9.1.
mozIStorageStatementWrapper
firefox 3.5 note
firefox 3.5 adds support for these features directly into the mozistoragestatement interface, so this interface is essentially deprecated.
... last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview void initialize(in mozistoragestatement astatement); void reset(); boolean step(); void execute(); attributes attribute type description statement mozistoragestatement the statement that is wrapped.
nsIAboutModule
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview unsigned long geturiflags(in nsiuri auri); nsichannel newchannel(in nsiuri auri); constants constant value description uri_safe_for_untrusted_content (1 << 0) a flag that indicates whether a uri is safe for untrusted content.
...the section "
firefox 4 (second approach)" provides copy paste code for working example.
nsIAccessNode
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) the nsiaccessnode implementations are instantiated lazily.
... methods getchildnodeat() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) get the nth child of this node.
nsIAccessibleHyperText
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview nsiaccessiblehyperlink getlink(in long linkindex); long getlinkindex(in long charindex); long getselectedlinkindex(); obsolete since gecko 1.9 attributes attribute type description linkcount long the number of links contained within this hypertext object.
... getselectedlinkindex() obsolete since gecko 1.9 (
firefox 3) long getselectedlinkindex(); parameters none.
nsIAccessibleTreeCache
obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0)this feature is obsolete.
... last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports method overview nsiaccessible getcachedtreeitemaccessible(in long arow, in nsitreecolumn acolumn); void invalidatecache(in long arow, in long acount); void treeviewchanged(); void treeviewinvalidated(in long astartrow, in long aendrow, in long astartcol, in long aendcol); methods getcachedtreeitemaccessible() returns the tree item from the cache for the cell in the specified row and column; the n...
nsIAccessibleValue
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview boolean setcurrentvalue(in double value); obsolete since gecko 1.9 attributes attribute type description currentvalue double maximumvalue double read only.
... methods setcurrentvalue() obsolete since gecko 1.9 (
firefox 3) return a success condition of the value getting set.
nsIApplicationCache
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) each application cache has a unique client id for use with nsicacheservice.opensession() method, to access the cache's entries.
... see also offline resources in
firefox nsiapplicationcachenamespace nsiapplicationcachecontainer nsiapplicationcachechannel nsiapplicationcacheservice nsidomofflineresourcelist ...
nsIApplicationCacheChannel
1.0 66 introduced gecko 1.9.1 inherits from: nsiapplicationcachecontainer last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void markofflinecacheentryasforeign(); attributes attribute type description chooseapplicationcache boolean when true, the channel will choose an application cache if one was not explicitly provided and none is available from the notification callbacks.
...see also offline resources in
firefox nsiapplicationcache nsiapplicationcachecontainer nsiapplicationcacheservice nsiapplicationcachenamespace nsidomofflineresourcelist ...
nsIApplicationCacheContainer
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) attributes attribute type description applicationcache nsiapplicationcache the application cache with which the object is associated.
... see also offline resources in
firefox nsiapplicationcache nsiapplicationcachechannel nsiapplicationcacheservice nsiapplicationcachenamespace nsidomofflineresourcelist ...
nsIApplicationCacheNamespace
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) application caches can store a set of namespace entries that affect loads from the application cache.
... see also offline resources in
firefox nsiapplicationcache nsiapplicationcachecontainer nsiapplicationcachechannel nsiapplicationcacheservice nsidomofflineresourcelist ...
nsIApplicationCacheService
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void cacheopportunistically(in nsiapplicationcache cache, in acstring key); nsiapplicationcache chooseapplicationcache(in acstring key); nsiapplicationcache createapplicationcache(in acstring group); void deactivategroup(in acstring group); nsiapplicationcache getactivecache(in acstring group); nsiapplicationcache getapplicationcache(in acstring clientid); void getgroups([optional] out unsigned long count, [array, size_is(count), ret...
... see also offline resources in
firefox nsiapplicationcache nsiapplicationcachecontainer nsiapplicationcachechannel nsiapplicationcachenamespace nsidomofflineresourcelist ...
nsIBoxObject
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) to get an instance, use the boxobject property.
... methods getlookandfeelmetric() obsolete since gecko 1.9 (
firefox 3) wstring getlookandfeelmetric( in wstring propertyname ); parameters propertyname return value getproperty() wstring getproperty( in wstring propertyname ); parameters propertyname return value getpropertyassupports() nsisupports getpropertyassupports( in wstring propertyname ); parameters propertyname return value removeproperty() void removeproperty( in wstring...
nsIBrowserSearchService
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/browser/search-service;1.
... this method was introduced in
firefox 16.
nsICachingChannel
inherits from: nsicacheinfochannel last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface provides: support for "stream as file" semantics (for jar and plugins).
... methods isfromcache() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this method finds out whether or not this channel's data is being loaded from the cache.
nsIChannelEventSink
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) channels will try to get this interface from a channel's notificationcallbacks or, if not available there, from the loadgroup's notificationcallbacks.
... onchannelredirect() obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) called when a redirect occurs.
nsIChromeRegistry
inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) implemented by: @mozilla.org/chrome/chrome-registry;1 as a service: var chromeregistry = components.classes["@mozilla.org/chrome/chrome-registry;1"] .getservice(components.interfaces.nsichromeregistry); method overview void canonify(in nsiuri achromeurl); obsolete since gecko 1.8 void checkfornewchrome(); nsiuri convertchromeurl(in nsiuri achromeurl); boolean wrappersenabled(in nsiuri auri); violates the xpcom interface guidelines constants c...
...onstant value description none 0 partial 1 full 2 methods canonify() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) note: this method is obsolete; use convertchromeurl() instead.
nsIComponentManager
66 introduced gecko 0.7 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview void addbootstrappedmanifestlocation(in nsilocalfile alocation); void createinstance(in nscidref aclass, in nsisupports adelegate, in nsiidref aiid, [iid_is(aiid),retval] out nsqiresult result); void createinstancebycontractid(in string acontractid, in nsisupports adelegate, in nsiidref aiid, [iid_is(aiid),retval] out nsqiresult result); void getclassobject(in nscidref aclass, in nsiidref aiid, [iid_is(aiid),retval] out nsqiresult result); ...
... void removebootstrappedmanifestlocation( in interface nsilocalfile alocation ); parameters examples using addbootstrappedmanifestlocation in a bootstrapped extension for
firefox 8 and 9: alocation the directory or xpi to stop reading the chrome.manifest from.
nsICookieManager2
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsicookiemanager this interface is included in the services.jsm javascript code module.
... findmatchingcookie() obsolete since gecko 1.9 (
firefox 3) find whether a matching cookie already exists, and how many cookies a given host has already set.
nsICookieService
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) see nsicookiemanager and nsicookiemanager2 for methods to manipulate the cookie database directly.
... private-cookie-changed since
firefox 20 (see bugzilla #837091) same as cookie-changed, except used in lieu of cookie-changed for private windows.
nsICryptoHash
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview acstring finish(in prbool aascii); void init(in unsigned long aalgorithm); void initwithstring(in acstring aalgorithm); void update([const, array, size_is(alen)] in octet adata, in unsigned long alen); void updatefromstream(in nsiinputstream astream, in unsigned long alen); constants has...
...var s = array.from(hash, (c, i) => tohexstring(hash.charcodeat(i))).join(""); // s now contains your hash in hex: should be // 5eb63bbbe01eeed093cb22bb8f5acdc3 see also
firefox 1.5 ...
nsIDOMGeoPositionAddress
1.0 66 introduced gecko 1.9.2 obsolete gecko 14.0 inherits from: nsisupports last changed in gecko 11 (
firefox 11 / thunderbird 11 / seamonkey 2.8) this object is obtained from an nsidomgeopositionaddress object via its address attribute.
... countrycode obsolete since gecko 11 domstring removed in
firefox 11, since it isn't defined in the specification; use country instead.
nsIDOMGeoPositionError
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports attributes attribute type description code short numerical error code; see error constants for a complete list.
... gecko 1.9.2 note the message attribute was removed in gecko 1.9.2 (
firefox 3.6).
nsIDOMGlobalPropertyInitializer
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) an xpcom component implementing this interface can be exposed to web content as a property on the window.
... see custom window properties are a snap in
firefox blog post for details.
nsIDOMStorageEventObsolete
obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this feature is obsolete.
... 1.0 66 introduced gecko 1.8 obsolete gecko 2.0 inherits from: nsidomevent last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) when a dom storage event is received, the recipient can check its domain attribute to determine which domain's data store has changed.
nsIDOMWindow
66 introduced gecko 1.0 deprecated gecko 44 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) starting with
firefox 44, this file is empty as its features were either no longer used or are only available from c++ code; see dom/base/nspidomwindow.h for those.
... starting in
firefox 3, dom windows are actually based on nsidomwindow2, which is a subclass of nsidomwindow that adds some new features to this interface.
nsIDebug2
xpcom/base/nsidebug2.idlscriptable adds access to additional information in debug builds of mozilla code by expanding upon the features in nsidebug 1.0 66 introduced gecko 1.9.2 inherits from: nsidebug last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) attributes attribute type description assertioncount long the number of assertions since process start.
...this often correlates to whether other code (for example,
firefox, xulrunner) was compiled with debug defined.
nsIDocShell
inherits from: nsisupports last changed in gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9) implemented by @mozilla.org/docshell;1.
... native code only!fireunloadnotification obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0)this feature is obsolete.
nsIDownload
this interface is deprecated as of
firefox 26.
...download objects are used by the download manager (see nsidownloadmanager to manage files that are queued to download, being downloaded, and finished being downloaded.) inherits from: nsitransfer last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) note: once the download is completed, the download manager stops updating the nsidownload object.
nsIDragService
inherits from: nsisupports last changed in gecko 43 (
firefox 43 / thunderbird 43 / seamonkey 2.40) note: using this interface directly from add-on code is deprecated.
... firedrageventatsource() obsolete since gecko 43 (
firefox 43 / thunderbird 43 / seamonkey 2.40)this feature is obsolete.
nsIEditor
66 introduced gecko 1.0 inherits from: nsisupports last changed in gecko 18.0 (
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15) method overview [noscript] void init(in nsidomdocument doc, in nsicontent aroot, in nsiselectioncontroller aselcon, in unsigned long aflags); void setattributeorequivalent(in nsidomelement element, in astring sourceattrname, in astring sourceattrvalue, in boolean asuppresstransaction); void removeattributeorequivalent(in nsidomelement element, in domstring sourceattrname, in boolean asuppresstransaction); void postcreate(); void predestroy(in boolean adestroyingframes); ...
...this parameter was removed in gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2).
nsIEventTarget
1.0 66 introduced gecko 1.6 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void dispatch(in nsirunnable event, in unsigned long flags); boolean isoncurrentthread(); void postevent(in pleventptr aevent); native code only!
...native code only!postevent obsolete since gecko 1.9 (
firefox 3)this feature is obsolete.
nsIFile
inherits from: nsisupports last changed in gecko 30.0 (
firefox 30.0 / thunderbird 30.0 / seamonkey 2.27) nsifile is the correct platform-agnostic way to specify a file; you should always use this instead of a string to ensure compatibility.
...for specific handling before gecko 9 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), please see bug 682571.
nsIFilePicker
inherits from: nsisupports last changed in gecko 17.0 (
firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) implemented by: @mozilla.org/filepicker;1.
... show() obsolete since gecko 57.0 (
firefox 57.0 / thunderbird 57.0 / seamonkey 2.54) displays the file picker dialog.
nsIFocusManager
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) implemented by: @mozilla.org/focus-manager;1 as a service: var focusmanager = components.classes["@mozilla.org/focus-manager;1"] .getservice(components.interfaces.nsifocusmanager); method overview void clearfocus(in nsidomwindow awindow); void contentremoved(in nsidocument adocument, in nsicontent aelement); native code only!
... native code only!contentremoved obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
nsIGeolocationProvider
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) this must be called on the main thread interface provides location information to the nsgeolocator via the nsidomgeolocationcallback interface.
...method overview boolean isready(); obsolete since gecko 1.9.2 void shutdown(); void startup(); void watch(in nsigeolocationupdate callback); methods isready() obsolete since gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) reports whether or not the device is ready and has a position.
nsIHTMLEditor
inherits from: nsisupports last changed in gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) method overview void adddefaultproperty(in nsiatom aproperty, in astring aattribute, in astring avalue); void addinsertionlistener(in nsicontentfilter infilter); void align(in astring aalign); boolean breakisvisible(in nsidomnode anode); boolean candrag(in nsidomevent aevent); void checkselectionstateforanonymousbuttons(in nsiselection aselection); nsidomelement createanonymouselement(in astring atag, in nsidomnode aparentnode, in astring aanonclass, in boolean aiscreatedhidden); nsidomelement createelementwithdefaults(in astring ata...
... used primarily to supply new element for various insert element dialogs (image, link, table, and horizontalrule are the only returned elements as of 9/12/18); namedanchor was removed in
firefox 63.
nsIInstallLocation
1.0 66 introduced gecko 1.8 obsolete gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: while this api still works,
firefox 4 no longer extracts xpis by default, so this will now point to the xpi file instead of to the directory.
... any nsifile operations that assume a directory and plain files will fail in
firefox 4, unless you specify <em:unpack>.
nsILocaleService
1.0 66 introduced gecko 1.6 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/intl/nslocaleservice;1.
... newlocaleobject() obsolete since gecko 1.9 (
firefox 3) nsilocale newlocaleobject( in nsilocaledefinition localedefinition ); parameters localedefinition a locale definition as described in nsilocaledefinition.
nsIMicrosummaryGenerator
toolkit/components/places/public/nsimicrosummaryservice.idlscriptable this interface provides access to a microsummary that has been installed in
firefox.
... 1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview long calculateupdateinterval(in nsidomnode apagecontent); boolean equals(in nsimicrosummarygenerator aother); astring generatemicrosummary(in nsidomnode apagecontent); attributes attribute type description loaded boolean has the generator itself (which may be a remote resource) been loaded.
nsIMsgHeaderParser
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) to create an instance, use: var msgheaderparser = components.classes["@mozilla.org/messenger/headerparser;1"] .createinstance(components.interfaces.nsimsgheaderparser); method overview string extractheaderaddressmailboxes(in string line); void extractheaderaddressname(in string line, out string name); void extractheaderaddressnames(in string line, out string usernames); astring makefulladdress(in astring aname, in astring aaddress); string makefulladdressstrin...
... exceptions thrown missing exception missing description makefulladdresswstring() obsolete since gecko 1.9 (
firefox 3) wstring makefulladdresswstring( in wstring name, in wstring addr ); parameters name the name of the sender.
nsIMsgIncomingServer
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void clearallvalues(); void cleartemporaryreturnreceiptsfilter(); void closecachedconnections(); void configuretemporaryfilters(in nsimsgfilterlist filterlist); void configuretemporaryreturnreceiptsfilter(in nsimsgfilterlist filterlist); obsolete since gecko 1.8 void displayofflinemsg(in nsimsgwindow awindow); boolean equals(in nsimsgincomingserver server); void forgetpassword(); void forgetsessionpassword(); astring generateprettynameformigration(); boolean getboolattribute(in string name); boolean getboolvalue(in string...
...void configuretemporaryfilters( in nsimsgfilterlist filterlist ); parameters filterlist missing description exceptions thrown missing exception missing description configuretemporaryreturnreceiptsfilter() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) if we have set up to filter return receipts into our sent folder, this utility method creates a filter to do that, and adds it to our filterlist if it doesn't exist.
nsINavHistoryService
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 22 (
firefox 22 / thunderbird 22 / seamonkey 2.19) implemented by: "@mozilla.org/browser/nav-history-service;1".
... addvisit() obsolete since gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) note: this method was removed in gecko 22.0.
nsIParserUtils
parser/html/nsiparserutils.idlscriptable provides non-web html parsing functionality to
firefox extensions and xulrunner applications.
... 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) warning: do not use this from within gecko--use nscontentutils, nstreesanitizer, and so on directly instead.
nsIPrinterEnumerator
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void displaypropertiesdlg(in wstring aprinter, in nsiprintsettings aprintsettings); void enumerateprinters(out pruint32 acount,[retval, array, size_is(acount)] out wstring aresult); obsolete since gecko 1.9 void initprintsettingsfromprinter(in wstring aprintername, in nsiprintsettings aprintsettings); attributes attribute type description defaultprintername wstring the name of the system default printer.
... methods displaypropertiesdlg() void displaypropertiesdlg( in wstring aprinter, in nsiprintsettings aprintsettings ); parameters aprinter aprintsettings enumerateprinters() obsolete since gecko 1.9 (
firefox 3) returns an array of the names of all installed printers.
nsIPushService
inherits from: nsisupports last changed in gecko 46.0 (
firefox 46.0 / thunderbird 46.0 / seamonkey 2.43) push lets a remote server send payloads to a web site, add-on, or component running in the browser.
... nsipushservice supports the push api implementation in
firefox, and can be used directly from privileged code to create system subscriptions.
nsIPushSubscription
inherits from: nsisupports last changed in gecko 46.0 (
firefox 46.0 / thunderbird 46.0 / seamonkey 2.43) each subscription is associated with a unique url generated by the push service.
... sending a post request to this url routes the message to the instance of
firefox that created the subscription.
nsIResumableChannel
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void asyncopenat(in nsistreamlistener listener, in nsisupports ctxt, in unsigned long startpos, in nsiresumableentityid entityid); obsolete since gecko 1.8 void resumeat(in unsigned long long startpos, in acstring entityid); attributes attribute type description entityid acstring the entity id for this uri.
... methods asyncopenat() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) open this channel, and read starting at the specified offset.
nsIScreen
inherits from: nsisupports last changed in gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) use nsiscreenmanager to obtain references to screens.
... screen rotation constants requires gecko 13.0(
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) constant value description rotation_0_deg 0 0° of rotation (that is, no rotation, or default orientation).
nsIScriptError
66 introduced gecko 1.0 inherits from: nsiconsolemessage last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/scripterror;1.
...there are quite a few category strings and they aren't listed in a single place, so you may need to search the
firefox code to find the one you want.
nsIScriptError2
1.0 66 introduced gecko 2.0 obsolete gecko 12.0 inherits from: nsiscripterror last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) in gecko 12.0 this interface was merged into the nsiscripterror interface.
...prior to gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), this was the outer window id.
nsISelectionController
inherits from: nsiselectiondisplay last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void characterextendforbackspace(); native code only!
... setcaretwidth() obsolete since gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) set the carets width.
nsISessionStartup
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by: @mozilla.org/browser/sessionstartup;1.
...note: prior to gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5), this was a string.
nsISessionStore
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) in versions of
firefox prior to 3.5, the user preference browser.sessionstore.enabled must be true for these calls to be successful.
... starting in
firefox 3.5, this preference is no longer used.
nsISmsDatabaseService
nsismsdatabaseservice dom/sms/interfaces/nsismsdatabaseservice.idlscriptable used to store and manage sms text messages for the websms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/sms/smsdatabaseservice;1.
... markmessageread() requires gecko 15.0(
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) void markmessageread( in long messageid, in boolean value, in long requestid, [optional] in unsigned long long processid ); parameters messageid a number representing the id of the message.
nsISpeculativeConnect
1.0 66 introduced gecko 15.0 inherits from: nsisupports last changed in gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) to use this service, simply call nsisupports.queryinterface() on the nsiioservice you plan to use for the connection, to get access to the i/o service's implementation of nsispeculativeconnect.
... see also nsiioservice blog post: making
firefox search snappier ...
nsISupports proxies
obsolete since gecko 12 (
firefox 12 / thunderbird 12 / seamonkey 2.9)this feature is obsolete.
...this technology has been removed in
firefox 12 because it was very complex and often lead to strange deadlock conditions.
nsITextInputProcessor
dom/interfaces/base/nsitextinputprocessor.idlscriptable this interface is a text input events synthesizer and manages its composition and modifier state 1.0 66 introduced gecko 38 inherits from: nsisupports last changed in gecko 38.0 (
firefox 38.0 / thunderbird 38.0 / seamonkey 2.35) the motivation of this interface is to provide better api than nsidomwindowutils to dispatch key events and create, modify, and commit composition in higher level.
...therefore they sometimes caused impossible scenarios in automated tests (what's tested with such events?) and js-ime and/or js-keyboard on
firefox os or add-ons may dispatch events with wrong rules.
nsITraceableChannel
see modify url before loading page in
firefox for an overview of how to modify a request before it is made.
...this example uses promise syntax that is available in
firefox 30 and onwards.
nsIURL
inherits from: nsiuri last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) http://host/directory/filebasename.fileextension?query http://host/directory/filebasename.fileextension#ref http://host/directory/filebasename.fileextension;param \ \ / \ ----------------------- \ | / \ filename / ---------------------------- | filepath you can get a nsiurl from an nsiuri, using the queryinterface() method: var myuri = components...
...obsolete since gecko 9.0 note: this was removed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) because the semicolon is not actually valid for this purpose and should not have been specially handled.
nsIWebBrowser
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) warning: this interface was frozen for a very long time, but was unfrozen for gecko 2.0.
...in
firefox, this corresponds to the visible tab.
nsIXULRuntime
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/xre/app-info;1.
... is64bit boolean indicates whether the current
firefox build is 64-bit.
nsIXULSortService
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void insertcontainernode(in nsirdfcompositedatasource db, in nsrdfsortstate sortstateptr, in nsicontent root, in nsicontent trueparent, in nsicontent container, in nsicontent node, in boolean anotify); native code only!
... obsolete since gecko 1.9 void sort(in nsidomnode anode, in astring asortkey, in astring asorthints); constants constant value description sort_comparecase 0x0001 sort_integer 0x0100 methods native code only!insertcontainernode obsolete since gecko 1.9 (
firefox 3)this feature is obsolete.
nsIXmlRpcClient
warning: this interface was removed from
firefox 3 and is no longer available.
... last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview void init(in string serverurl); void setauthentication(in string username, in string password); void clearauthentication(in string username, in string password); void setencoding(in string encoding); void setencoding(in unsigned long type, out nsiidref uuid, out nsqiresult result); void asynccall (in nsixmlrpcclientlistener listener, in nsisupports ctxt, in string methodname, in nsisupports arguments, in pruint32 count); attributes attribute type description serverurl readonly nsiurl the url of the xml-rpc server inprogress readonly boolean whether or not a ca...
nsIXmlRpcFault
obsolete since gecko 1.9 (
firefox 3)this feature is obsolete.
... inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void init(in print32 faultcode, in string faultsring); string tostring(); attributes attribute type description faultcode print32 read only.
nsIZipWriter
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) once all the operations you wish to perform are added to the queue, a call to processqueue() will perform the operations in the order they were added to the queue.
...using backward slash will not throw any errors but if this was an xpi file,
firefox would not be able to read it properly.
Setting HTTP request headers
ed in for http-on-modify-request notification: var {cc, ci} = require("chrome"); var httprequestobserver = { observe: function(subject, topic, data) { if (topic == "http-on-modify-request") { var httpchannel = subject.queryinterface(ci.nsihttpchannel); httpchannel.setrequestheader("x-hello", "world", false); } } }; note: the above code was changed to reflect that in a
firefox add-on one can not directly access components.interfaces und components.classes anymore but must use the require line introduced to the sample code above.
...if you want to support gecko2 (
firefox4) you need to register your javascript component as described here: https://developer.mozilla.org/en/xpcom/xpcom_changes_in_gecko_2.0#javascript_components.
Using IndexedDB in chrome
andbox constructor: var options = { "wantglobalproperties": ["indexeddb"] } var principal = cc["@mozilla.org/systemprincipal;1"].createinstance(ci.nsiprincipal); var sandbox = components.utils.sandbox(principal, options); // the sandbox will have access to indexeddb var sandboxscript = 'var req = indexeddb.open("my-database");'; components.utils.evalinsandbox(sandboxscript, sandbox); before
firefox 33, you would access indexeddb from chrome code using the initwindowless method of the nsiindexeddatabasemanager service.
... this method was removed in
firefox 33.
XPCOM category image-sniffing-services
in versions of
firefox prior to
firefox 3, extensions could add decoders for new image types.
...in
firefox 3, a new xpcom category was added in bug 391667 to allow "third-party" xpcom components to identify images based on their content.
Index
it shares many of the technologies used by mozilla
firefox, including javascript, the gecko layout engine, the xul xml user interface language and the xpcom cross-platform component object model.
... similar to
firefox, thunderbird functionality can be enhanced and customized via extensions.
Using Mozilla code in other projects
there are also modules that aren't used in
firefox but are available for use by other applications; an example of this is rhino, the javascript engine written in java.
... you can embed gecko, the layout engine used by
firefox to process web pages, as a browser within your own application.
Using tab-modal prompts
the updated prompt documentation can be found in the
firefox source docs.
... prior to gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), prompts (that is, alerts and other modal prompts) were window modal.
Add to iPhoto
note: this extension uses carbon routines, which can no longer be used in
firefox add-ons now that
firefox is a 64-bit application.
...this is done using the js-ctypes library object's declare() method, just like importing a function: this.kcftypearraycallbacks = this.lib.declare("kcftypearraycallbacks", this.cfarraycallbacks); note: for the record, this is the part that requires a nightly build of
firefox 3.7a5pre dated april 16, 2010 or later; this capability was introduced in that build.
ctypes.open
cr = components.classes['@mozilla.org/chrome/chrome-registry;1'].getservice(components.interfaces.nsichromeregistry); var chromeuri_mylib = services.io.newuri('chrome://youraddon/content/mysubfolder/mycfunctionsforunix.so', 'utf-8', null); var localfile_mylib = cr.convertchromeurl(chromeuri_mylib); var jarpath_mylib = localfile_mylib.spec; // "jar:file:///c:/users/vayeate/appdata/roaming/mozilla/
firefox/profiles/aecgxse.unnamed%20profile%201/extensions/youraddon@jetpack.xpi!/mysubfolder/mycfunctionsforunix.so" var filepath_mylib = localfilemylib.path; // "file:///c:/users/vayeate/appdata/roaming/mozilla/
firefox/profiles/aecgxse.unnamed%20profile%201/extensions/youraddon@jetpack.xpi!/mysubfolder/mycfunctionsforunix.so" if your add-on is a bootstrap add-on, then you don't need to use this method...
...if addon is packed, this will be addon xpi } this can then be joined with your file name to obtain it's path like this: function startup(adata, areason) { var jarpath_folder = 'jar:' + os.path.tofileuri(adata.installpath.path) + '!/'; // if unpacked is false in install.rdf this will look like: "jar:file:///c:/users/vayeate/appdata/roaming/mozilla/
firefox/profiles/aksozfjt.unnamed%20profile%2010/extensions/asynczip@jetpack!/" var filepath_folder = adata.installpath.path; // if unpacked is set to false in install.rdf this will look like: "c:\users\vayeate\appdata\roaming\mozilla\
firefox\profiles\aksozfjt.unnamed profile 10\extensions\asynczip@jetpack" var filepath_mylib = os.path.join(filepath_folder, 'mysubfolder', 'mycfunctionsforunix.so...
js-ctypes
unlike binary xpcom components, it allows developers to ship a single binary for use with multiple versions of
firefox.
... examples add to iphoto a
firefox extension that uses js-ctypes to call carbon and core foundation framework routines on mac os x to implement an "add image to iphoto" feature in
firefox.
Plug-in Development Overview - Plugins
starting in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7), you can get the origin of the document in a secure, convenient way by calling npn_getvalue() to retrieve the value of the variable npnvdocumentorigin.
... installing plug-ins plug-ins should not be installed into the
firefox directory.
Scripting plugins - Plugins
this extension will also let plugins access the script objects in the browser, and is thus a much stronger and more flexible api.) the information in this section applies to
firefox 1.0 and mozilla 1.7.5 and newer versions.
...bed.nativeproperty); embed.nativeproperty.anothernativemethod(); </script> the api extensions the api extensions are based on four new structs: npstring npvariant npn_releasevariantvalue npn_getstringidentifier npn_getstringidentifiers npn_getintidentifier npn_identifierisstring npn_utf8fromidentifier npn_intfromidentifier npobject npn_construct (since
firefox 3.0b1) npn_createobject npn_retainobject npn_releaseobject npn_invoke npn_invokedefault npn_enumerate (since mozilla 1.9a1) npn_evaluate npn_getproperty npn_setproperty npn_removeproperty npn_hasproperty npn_hasmethod npn_setexception npclass « previousnext » ...
AnalyserNode.AnalyserNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetanalysernode() constructorchrome full support 55edge full support ≤79
firefox full support 53ie no support ...
... noopera full support 42safari full support 6webview android full support 55chrome android full support 55
firefox android full support 53opera android full support 42safari ios full support 6samsung internet android full support 6.0legend full support full support no support no support ...
AudioContext.baseLatency - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbaselatency experimentalchrome full support 58edge full support ≤79
firefox full support 70ie no support ...
... noopera full support 45safari no support nowebview android full support 58chrome android full support 58
firefox android no support noopera android full support 43safari ios no support nosamsung internet android full support 7.0legend full support full support no support no supportexperimental.
AudioContext.getOutputTimestamp() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetoutputtimestamp experimentalchrome full support 57edge full support ≤79
firefox full support 70ie no support ...
... noopera full support 44safari no support nowebview android full support 57chrome android full support 57
firefox android no support noopera android full support 43safari ios no support nosamsung internet android full support 7.0legend full support full support no support no supportexperimen...
BaseAudioContext.createConstantSource() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcreateconstantsourcechrome full support 56edge full support ≤79
firefox full support 53ie no support ...
... noopera full support 43safari no support nowebview android full support 56chrome android full support 56
firefox android full support 53opera android full support 43safari ios no support nosamsung internet android full support 6.0legend full support full support no support no support ...
BlobEvent.timecode - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettimecode experimentalchrome full support 57edge full support ≤79
firefox ?
... ie no support noopera full support 44safari no support nowebview android full support 57chrome android full support 57
firefox android ?
BudgetService.getBudget() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetbudget experimentaldeprecatednon-standardchrome full support 55edge full support ≤79
firefox ?
... webview android full support 55chrome android full support 55
firefox android ?
BudgetService.getCost() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetcost experimentaldeprecatednon-standardchrome full support 55edge full support ≤79
firefox ?
... webview android full support 55chrome android full support 55
firefox android ?
BudgetService.reserve() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreserve experimentaldeprecatednon-standardchrome full support 55edge full support ≤79
firefox ?
... webview android full support 55chrome android full support 55
firefox android ?
BudgetState.budgetAt - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbudgetat experimentaldeprecatednon-standardchrome full support 60edge full support ≤79
firefox ?
... webview android no support nochrome android full support 60
firefox android ?
BudgetState.time - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettime experimentaldeprecatednon-standardchrome full support 60edge full support ≤79
firefox ?
... webview android no support nochrome android full support 60
firefox android ?
CSSStyleRule.selectorText - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetselectortextchrome full support 1edge full support 12
firefox full support 1ie full support 9op...
...era full support yessafari full support 6webview android full support 4.4chrome android full support 18
firefox android full support 4opera android full support yessafari ios full support yessamsung internet android full support 1.0legend full support full support ...
Clipboard - Web APIs
for example,
firefox does not yet support the "clipboard-read" and "clipboard-write" permissions, so access to the methods that access and change the contents of the clipboard are restricted in other ways.
...see extensions in
firefox 63.
ConvolverNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetconvolvernode() constructorchrome full support 55edge full support ≤79
firefox full support 53ie no support ...
... webview android full support 55chrome android full support 55
firefox android full support 53opera android full support 42safari ios ?
DOMException() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdomexception() constructorchrome full support yesedge full support 79
firefox ?
... webview android full support yeschrome android full support yes
firefox android ?
DOMException.code - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcodechrome full support yesedge full support 12
firefox full support 1ie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 4opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown com...
DOMException.message - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmessagechrome full support yesedge full support 12
firefox full support 1ie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 4opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown com...
DOMParser - Web APIs
parsing svg or html the domparser can also be used to parse an svg document (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7) or an html document (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9).
...@source https://gist.github.com/1129031 */ /*global document, domparser*/ (function(domparser) { "use strict"; var proto = domparser.prototype, nativeparse = proto.parsefromstring; //
firefox/opera/ie throw errors on unsupported types try { // webkit returns null on unsupported types if ((new domparser()).parsefromstring("", "text/html")) { // text/html parsing is natively supported return; } } catch (ex) {} proto.parsefromstring = function(markup, type) { if (/^\s*text\/html\s*(?:;|$)/i.test(type)) { var doc = document.implementation.createhtmldocument(""); i...
DOMRectReadOnly.fromRect() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfromrect() static functionchrome full support 57edge full support 79
firefox full support 69ie no support ...
... noopera full support 44safari full support 10.1webview android full support 57chrome android full support 57
firefox android no support noopera android full support 43safari ios full support 10.3samsung internet android full support 7.0legend full support full support no support no support ...
DOMTokenList.forEach() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetforeachchrome full support 45edge full support 16
firefox full support 50ie no support noopera ...
... full support 32safari full support 10webview android full support 45chrome android full support 45
firefox android full support 50opera android full support 32safari ios full support 10samsung internet android full support 5.0legend full support full support no support no support ...
Document.createExpression() - Web APIs
firefox 3 note prior to
firefox 3, you could call this method on documents other than the one you planned to run the xpath against.
... under
firefox 3, you must call it on the same document.
Document.evaluate() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetevaluatechrome full support 1edge full support 12
firefox full support 1.5ie no support noopera...
... full support 9safari full support 5webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 4.2samsung internet android full support 1.0legend full support full support no support no support see also document.createe...
Document.fonts - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfontschrome full support 60edge full support 79
firefox full support 41 full support 41 ...
...to change preferences in
firefox, visit about:config.ie no support noopera full support 47safari full support 10webview android full support 60chrome android full support 60
firefox android full support yesopera android full support 44safari ios full support ...
Document.forms - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetformschrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
Document.xmlVersion - Web APIs
obsolete since gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7)this feature is obsolete.
...as such,
firefox 10 no longer implements it.
DocumentFragment.querySelector() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetqueryselectorchrome full support 1edge full support 12
firefox full support 3.5ie full support ...
...9opera full support 10safari full support 3.2webview android full support yeschrome android full support yes
firefox android full support 4opera android full support 10.1safari ios full support 3.2samsung internet android full support yeslegend full support full support see also the documentfragment interface it belongs to.
How whitespace is handled by HTML, CSS, and in the DOM - Web APIs
note:
firefox devtools have supported highlighting text nodes since version 52, making it easier to see exactly what nodes whitespace characters are contained within.
... the
firefox devtools html inspector will highlight text nodes, and also show you exactly what area the elements are taking up — useful if you are wondering what is causing the problem, and are maybe thinking you've got some extra margin in there or something!
Element: DOMMouseScroll event - Web APIs
this event was only implemented by
firefox.
... on gecko 17 (
firefox 17) or later, you need to call preventdefault() of wheel events which must be fired for every native event.
Element.clientTop - Web APIs
gecko-based applications support clienttop starting with gecko 1.9 (
firefox 3, implemented in bug 111207).
... this property is not supported in
firefox 2 and earlier.
Element.currentStyle - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcurrentstyle non-standardchrome no support noedge no support no
firefox no support noie full support ...
... 6opera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportnon-standard.
Element: mousewheel event - Web APIs
the mousewheel event was never part of any standard, and while it was implemented by several browsers, it was never implemented by
firefox.
... bubbles yes cancelable yes interface mousewheelevent event handler property onmousewheel the detail property the value of the detail property is always zero, except in opera, which uses detail similarly to the
firefox-only dommousescroll event's detail value, which indicates the scroll distance in terms of lines, with negative values indicating the scrolling movement is either toward the bottom or toward the right, and positive values indicating scrolling to the top or left.
Element.runtimeStyle - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetruntimestyle non-standardchrome no support noedge no support no
firefox no support noie full support ...
... 6opera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportnon-standard.
Element.scrollLeftMax - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrollleftmax non-standardchrome no support noedge no support no
firefox full support 16ie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 16opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportnon-standard.
Element.slot - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetslotchrome full support 53edge full support ≤79
firefox full support 63ie ?
... opera full support yessafari full support 10webview android full support 53chrome android full support 53
firefox android full support 63opera android full support yessafari ios full support yessamsung internet android full support 6.0legend full support full support compatibility unknown compa...
Element - Web APIs
note: in
firefox 3.5 and earlier, html elements are in no namespace.
... this change is implemented in chrome since version 46.0 and
firefox since version 48.0.
EventTarget.dispatchEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdispatcheventchrome full support 4edge full support 12
firefox full support 2ie full support 9 ...
...ported an equivalent, proprietary eventtarget.fireevent() method.alternate name uses the non-standard name: fireeventopera full support 9safari full support 3.2webview android full support 4chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 3samsung internet android full support 1.0legend full support full suppor...
FederatedCredential - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfederatedcredential() constructor non-standardchrome full support 51edge full support ≤79
firefox ?
... webview android full support 51chrome android full support 51
firefox android ?
FederatedCredential.protocol - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetprotocol experimentalchrome full support 51edge full support ≤79
firefox ?
... webview android full support 51chrome android full support 51
firefox android ?
FederatedCredential.provider - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetprovider experimentalchrome full support 51edge full support ≤79
firefox ?
... webview android full support 51chrome android full support 51
firefox android ?
FetchEvent.navigationPreload - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnavigationpreload experimentalchrome full support 59edge full support ≤79
firefox ?
... ie no support noopera full support 46safari no support nowebview android full support 59chrome android full support 59
firefox android ?
File.webkitRelativePath - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwebkitrelativepathchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 13
firefox full support 49ie no support noopera no support nosafari full support 11.1webview android full support yeschrome android full support 18prefixed full support 18prefixed prefixed implemented with the vendor prefix: webkit
firefox android full support 49opera android no support nosafari ios full support 11.3samsung internet android ...
FileException - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfileexception deprecatednon-standardchrome no support 13 — 29prefixed no support 13 — 29prefixed prefixed implemented with the vendor prefix: webkitedge no support nofirefo...
... noopera no support nosafari no support nowebview android no support nochrome android no support 18 — 29prefixed no support 18 — 29prefixed prefixed implemented with the vendor prefix: webkit
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support 1.0 — 3.0prefixed no support 1.0 — 3.0prefixed prefixed implemented with the vendor prefix: webkitl...
FileReaderSync.readAsArrayBuffer() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadasarraybufferchrome full support yesedge full support 12
firefox full support 8ie full support ...
... yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
FileReaderSync.readAsBinaryString() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadasbinarystringchrome full support yesedge full support 12
firefox full support 8ie full support ...
... yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
FileReaderSync.readAsDataURL() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadasdataurlchrome full support yesedge full support 12
firefox full support 8ie full support ...
...yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
FileReaderSync.readAsText() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadastextchrome full support yesedge full support 12
firefox full support 8ie full support yes...
...opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 8opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
FileSystem.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnamechrome full support 7edge full support ≤18
firefox full support 50ie no support noopera ...
... full support 15safari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android full support 14safari ios full support 11.3samsung internet android full support 1.0legend full support full support no support no support ...
FileSystem.root - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrootchrome full support 7edge full support ≤18
firefox full support 50ie no support noopera ...
... full support 15safari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android full support 14safari ios full support 11.3samsung internet android full support 1.0legend full support full support no support no support ...
FileSystemDirectoryEntry.createReader() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcreatereader experimentalchrome full support 13edge full support 79
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimen...
FileSystemDirectoryEntry.getDirectory() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetdirectory experimentalchrome full support 8edge full support 79
firefox full support 50notes full support ...
... 50notes notes in
firefox, the errorcallback's input parameter is a domexception rather than a fileerror object.ie no support noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50notes full support 50notes notes in
firefox, the errorcallback's input parameter is a domexception rather than a fileerror object.opera android no support nosafari io...
FileSystemDirectoryEntry.getFile() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetfile experimentalchrome full support 8edge full support 79
firefox full support 50notes full support ...
... 50notes notes in
firefox, the errorcallback's input parameter is a domexception rather than a fileerror object.ie no support noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50notes full support 50notes notes in
firefox, the errorcallback's input parameter is a domexception rather than a fileerror object.opera android no support nosafari ios ...
FileSystemDirectoryEntry.removeRecursively() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetremoverecursively deprecatednon-standardchrome full support 8edge full support 79
firefox no support 50 — 52notes no support 50 �...
...alled the error callback with ns_error_dom_security_err.ie no support noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support 50 — 52notes no support 50 — 52notes notes while the removerecursively() method existed, it immediately called the error callback with ns_error_dom_security_err.opera android no support nosafari ios no support nosamsung internet andr...
FileSystemEntry.copyTo() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcopyto experimentaldeprecatednon-standardchrome full support 8edge full support 79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supportexperi...
FileSystemEntry.filesystem - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilesystem experimentalchrome full support 8edge full support 79
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimental...
FileSystemEntry.fullPath - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfullpath experimentalchrome full support 8edge full support 79
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.getMetadata() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetmetadata experimentaldeprecatednon-standardchrome full support 8edge full support 79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supporte...
FileSystemEntry.getParent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetparent experimentalchrome full support 8edge full support 79
firefox no support noie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android no support noopera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.isDirectory - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetisdirectory experimentalchrome full support 8edge full support 79
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimenta...
FileSystemEntry.isFile - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetisfile experimentalchrome full support 8edge full support 79
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.moveTo() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmoveto experimentaldeprecatednon-standardchrome full support 8edge full support 79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supportexperi...
FileSystemEntry.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetname experimentalchrome full support 8edge full support 79
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.remove() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetremove experimentaldeprecatednon-standardchrome full support 8edge full support 79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supportexperi...
FileSystemEntry.toURL() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettourl experimentaldeprecatednon-standardchrome full support 8edge full support 79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supportexperim...
FileSystemFileEntry.createWriter() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcreatewriter deprecatednon-standardchrome full support 8edge full support 79
firefox no support 50 — 52notes no support 50 — 52n...
... errorcallback with the ns_error_dom_security_err error.ie no support noopera no support nosafari no support nowebview android full support ≤37chrome android full support 18
firefox android no support 50 — 52notes no support 50 — 52notes notes while the createwriter() method existed, it immediately called errorcallback with the ns_error_dom_security_err error.opera android no support nosafari ios no support nosamsung internet andr...
FileSystemFileEntry.file() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilechrome full support 8edge full support 79
firefox full support 50ie no support noopera ...
... no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no support ...
FontFace.display - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdisplay experimentalchrome full support 60edge full support 79
firefox full support 58ie ?
... opera full support 47safari full support 11webview android full support 60chrome android full support 60
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 8.0legend full support full support no support no support ...
FontFaceSetLoadEvent.FontFaceSetLoadEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfontfacesetloadevent() constructor experimentalchrome full support 57edge full support ≤79
firefox ?
... webview android no support nochrome android full support 57
firefox android ?
FontFaceSetLoadEvent.fontfaces - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfontfaces experimentalchrome full support 35edge full support ≤79
firefox full support yesie ?
... webview android no support nochrome android full support 35
firefox android full support yesopera android full support 22safari ios ?
GamepadButton - Web APIs
note: this is the case in
firefox gecko 28 and later; chrome and earlier
firefox versions still return an array of double values when this property is accessed.
... example the following code is taken from my gamepad api button demo (you can view the demo live, and find the source code on github.) note the code fork — in chrome navigator.getgamepads needs a webkit prefix and the button values are stored as an array of double values, whereas in
firefox navigator.getgamepads doesn't need a prefix, and the button values are stored as an array of gamepadbutton objects; it is the gamepadbutton.value or gamepadbutton.pressed properties of these we need to access, depending on what type of buttons they are.
HTMLAnchorElement.referrerPolicy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreferrerpolicychrome full support 51edge full support 79
firefox full support 50ie no support n...
...oopera full support 38safari full support 11.1webview android full support 51chrome android full support 51
firefox android full support 50opera android full support 41safari ios no support nosamsung internet android full support 7.2legend full support full support no support no support ...
HTMLAreaElement.referrerPolicy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreferrerpolicychrome full support 51edge full support 79
firefox full support 50ie no support n...
...oopera full support 38safari full support 11.1webview android full support 51chrome android full support 51
firefox android full support 50opera android full support 41safari ios no support nosamsung internet android full support 7.2legend full support full support no support no support ...
HTMLElement.offsetTop - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetoffsettopchrome full support 1edge full support 12
firefox full support 1ie full support 8opera...
... full support 8safari full support 3webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full support in compliance with the specification, this property will return null on webkit if the element is hidden (the style.displa...
HTMLIFrameElement.csp - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcsp experimentalchrome full support 61edge full support ≤79
firefox ?
... webview android full support 61chrome android full support 61
firefox android ?
HTMLIFrameElement.referrerPolicy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreferrerpolicychrome full support 51edge full support 79
firefox full support 50ie no support n...
...oopera full support 38safari full support 11.1webview android full support 51chrome android full support 51
firefox android full support 50opera android full support 41safari ios no support nosamsung internet android full support 5.0legend full support full support no support no support ...
HTMLIFrameElement.src - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsrcchrome full support 43edge full support 12
firefox full support yesie ?
... opera full support yessafari full support 6webview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown com...
HTMLImageElement.align - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetalignchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.alt - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetaltchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.border - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborderchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.complete - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcompletechrome full support 1edge full support 12
firefox full support yesie full support 8note...
...s full support 8notes notes ie reports false for broken images.opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.crossOrigin - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcrossoriginchrome full support 13edge full support 12
firefox full support yesie full support 9...
...opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.decoding - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdecodingchrome full support 65edge full support ≤79
firefox full support 63ie no support noop...
...era full support yessafari full support 11.1webview android full support 65chrome android full support 65
firefox android full support 63opera android ?
HTMLImageElement.height - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetheightchrome full support 1edge full support 12
firefox full support yesie .html?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.hspace - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethspacechrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.isMap - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetismapchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.longDesc - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlongdescchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.lowSrc - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlowsrcchrome full support 1edge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android ?
HTMLImageElement.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnamechrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.naturalHeight - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnaturalheightchrome full support 1edge full support 12
firefox full support yesie full support ...
...9opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.naturalWidth - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnaturalwidthchrome full support 1edge full support 12
firefox full support yesie full support 9...
...opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android ?
HTMLImageElement.referrerPolicy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreferrerpolicychrome full support 51edge full support 79
firefox full support 50ie no support n...
...oopera full support 38safari full support 11.1webview android full support 51chrome android full support 51
firefox android full support 50opera android full support 41safari ios no support nosamsung internet android full support 5.0legend full support full support no support no support ...
HTMLImageElement.src - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsrcchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
HTMLImageElement.useMap - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetusemapchrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
HTMLImageElement.vspace - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetvspacechrome full support 1edge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
HTMLImageElement.width - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwidthchrome full support 1edge full support 12
firefox full support yesie .html?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
HTMLImageElement.x - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetxchrome full support 1edge full support 12
firefox full support 14 full support 14 ...
...— 7ie no support noopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 14 full support 14 no support ?
HTMLImageElement.y - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetychrome full support 1edge full support 12
firefox full support 14 full support 14 ...
...— 7ie no support noopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support 14 full support 14 no support ?
HTMLInputElement.webkitEntries - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwebkitentries non-standardchrome full support 13edge full support ≤18
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support ≤37chrome android full support 18
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportnon-standard.
HTMLInputElement.webkitdirectory - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetwebkitdirectory non-standardchrome full support 13edge full support 13
firefox full support 50ie no support ...
... noopera no support nosafari full support 11.1webview android full support yeschrome android full support yes
firefox android full support 50opera android no support nosafari ios full support 11.3samsung internet android full support yeslegend full support full support no support no supportnon-standard.
HTMLLinkElement.as - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetas experimentalchrome full support 50edge full support 17
firefox full support 56ie full support ...
... yesopera full support 37safari full support yeswebview android full support 50chrome android full support 50
firefox android full support 56opera android full support 37safari ios full support yessamsung internet android full support 5.0legend full support full supportexperimental.
HTMLMediaElement.controlsList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcontrolslistchrome full support 58edge full support ≤79
firefox ?
... webview android full support 58chrome android full support 58
firefox android ?
HTMLMediaElement.onencrypted - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonencryptedchrome full support yesedge full support 13
firefox full support yesie ?
...
firefox android ?
HTMLMediaElement.onwaitingforkey - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonwaitingforkeychrome full support 55edge full support 79
firefox full support yesie ?
... webview android full support 55chrome android full support 55
firefox android ?
HTMLMediaElement.setMediaKeys() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsetmediakeyschrome full support yesedge full support 13
firefox full support yesie ?
...
firefox android ?
HTMLOrForeignElement.nonce - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnoncechrome full support 61edge full support 79
firefox full support 75ie no support noopera ...
... full support yessafari full support 10webview android full support 61chrome android full support 61
firefox android no support noopera android full support yessafari ios full support 10samsung internet android full support 8.0legend full support full support no support no support ...
HTMLScriptElement.referrerPolicy - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreferrerpolicychrome full support 70edge full support ≤79
firefox full support 65ie no support ...
... noopera full support yessafari no support nowebview android full support 70chrome android full support 70
firefox android full support 65opera android full support yessafari ios no support nosamsung internet android full support 10.0legend full support full support no support no support ...
HTMLSlotElement.assignedElements() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetassignedelements experimentalchrome full support 65edge full support 79
firefox full support 66ie no support ...
... webview android full support 65chrome android full support 65
firefox android full support 66opera android full support yessafari ios ?
History.back() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbackchrome full support yesedge full support 12
firefox full support yesie full support 10opera...
... full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
History.forward() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetforwardchrome full support yesedge full support 12
firefox full support yesie full support 10op...
...era full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
History.scrollRestoration - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetscrollrestorationchrome full support 46edge full support 79
firefox full support 46ie no support ...
... noopera full support 33safari full support yeswebview android no support nochrome android full support 46
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support 5.0legend full support full support no support no support ...
IDBCursor.advance() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetadvancechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full suppor...
...t 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursor.continue() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcontinuechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full suppo...
...rt 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursor.delete() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdeletechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursor.direction - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdirectionchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full supp...
...ort 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursor.primaryKey - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetprimarykeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursor.request - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrequestchrome full support 76edge full support 79
firefox full support 77ie no support noopera ...
... webview android full support 76chrome android full support 76
firefox android no support noopera android full support 54safari ios ?
IDBCursor.source - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsourcechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursor.update() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetupdatechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBCursorWithValue.value - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetvaluechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.close() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetclosechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.name - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnamechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.objectStoreNames - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetobjectstorenameschrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge fu...
...ll support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.onabort - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonabortchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full suppor...
...t 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.onclose - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonclosechrome full support 31notes full support 31notes notes approxedge full support ≤18
firefox full support ...
... opera full support yessafari full support 10.1webview android full support yeschrome android full support 31
firefox android full support 50opera android full support yessafari ios full support 10.3samsung internet android full support 2.0legend full support full support compatibility unk...
IDBDatabase.onerror - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonerrorchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full suppor...
...t 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.onversionchange - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonversionchangechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge ful...
...l support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabase.version - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetversionchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full suppor...
...t 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support 25
firefox android full support 22opera android full support 14safari ios full support ...
IDBDatabaseException - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetidbdatabaseexception deprecatednon-standardchrome full support 12prefixed full support 12prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... ≤79prefixed full support ≤79prefixed prefixed implemented with the vendor prefix: webkit
firefox no support 4 — 14ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support 4 — 14opera android no support nosafari ios no support nosamsung internet android no supp...
databases - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdatabases experimentalchrome full support 71edge full support 79
firefox no support nonotes no support ...
... nonotes notes see bug 934640.ie no support noopera full support 58safari no support nowebview android full support 71chrome android full support 71
firefox android no support nonotes no support nonotes notes see bug 934640.opera android full support yessafari ios no support nosamsung internet android full support 10.0legend ...
IDBKeyRange.bound() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.includes() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetincludeschrome full support 52edge full support ≤18
firefox full support 47ie ?
... opera full support 39safari full support 10.1webview android full support 52chrome android full support 52
firefox android full support yesopera android full support 41safari ios full support 10.3samsung internet android full support 6.0legend full support full support compatibility unknown com...
IDBKeyRange.lower - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlowerchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.lowerBound() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlowerboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.lowerOpen - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetloweropenchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full supp...
...ort 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.only() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonlychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.upper - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetupperchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support ...
... 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.upperBound() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetupperboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full sup...
...port 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBKeyRange.upperOpen - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetupperopenchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full supp...
...ort 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBObjectStore.getKey() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgetkeychrome full support 48edge full support ≤79
firefox full support 51ie ?
... opera full support 45safari full support 10.1webview android full support 48chrome android full support 48
firefox android full support 58opera android full support 43safari ios full support 10.3samsung internet android full support 5.0legend full support full support compatibility unknown comp...
IDBRequest.onerror - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonerrorchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBRequest.onsuccess - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonsuccesschrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBRequest.readyState - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreadystatechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBRequest.result - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetresultchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBRequest.source - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsourcechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBRequest.transaction - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettransactionchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBTransaction.objectStoreNames - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetobjectstorenameschrome full support 48edge full support ≤79
firefox full support yesie ?
... opera full support 35safari full support yeswebview android full support 48chrome android full support 48
firefox android full support yesopera android full support 35safari ios full support yessamsung internet android full support 5.0legend full support full support compatibility unknown compa...
IDBTransaction.abort() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetabortchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBTransaction.commit() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcommitchrome full support 76edge full support 79
firefox full support 74ie no support noopera ...
... full support 63safari no support nowebview android full support 76chrome android full support 76
firefox android no support noopera android full support 54safari ios no support nosamsung internet android full support 12.0legend full support full support no support no support ...
IDBTransaction.mode - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmodechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
...full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBTransaction.objectStore() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetobjectstorechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBTransaction.onabort - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonabortchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBTransaction.onerror - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonerrorchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge ...
... full support 12
firefox full support 16 full support 16 no support 10 — 16prefixed prefixed implemented with the vendor prefix: mozie partial support 10opera full support 15safari full support 7webview android full support yeschrome android full support yes
firefox android full support 22opera android full support 14safari ios full support ...
IDBVersionChangeEvent.version - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetversion deprecatednon-standardchrome full support 12edge full support ≤18
firefox full support 16 full support ...
...0prefixed prefixed implemented with the vendor prefix: mozie no support noopera no support nosafari no support nowebview android full support yeschrome android full support 18
firefox android full support 22opera android full support 22safari ios no support nosamsung internet android full support 1.0legend full support full support ...
IDBVersionChangeRequest.setVersion() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsetversion deprecatednon-standardchrome no support noedge no support no
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support noopera android no support nosafari ios no support nosamsung internet android no support nolegend no support no supportnon-standard.
InputEvent.dataTransfer - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdatatransfer experimentalchrome full support 60edge full support 79
firefox full support 67ie no support ...
... noopera full support 47safari no support nowebview android full support 60chrome android full support 60
firefox android full support 67opera android full support 44safari ios no support nosamsung internet android full support 8.0legend full support full support no support no supportexperimental.
InputEvent.getTargetRanges() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgettargetranges experimentalchrome full support 60edge full support 79
firefox no support noie no support ...
... noopera full support 47safari full support 10.1webview android full support 60chrome android full support 60
firefox android no support noopera android full support 44safari ios full support 10.3samsung internet android full support 8.0legend full support full support no support no supportexperimen...
MediaDevices.getUserMedia() - Web APIs
for example in
firefox, the url bar displays a pulsing red icon to indicate that recording is underway.
...you should test your code carefully on a variety of devices and browsers to be sure it is as broadly compatible as possible feature policy the feature policy security management feature of http is in the process of being introduced into browsers, with support available to some extent in many browsers (though not always enabled by default, as in
firefox).
MediaKeyMessageEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmediakeymessageevent() constructor experimentalchrome full support 42edge full support ≤18
firefox ?
... webview android no support nochrome android full support 42
firefox android ?
MediaKeyStatusMap.entries() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetentries experimentalchrome full support 42edge full support 16
firefox ?
... webview android full support 43chrome android full support 42
firefox android ?
MediaKeyStatusMap.forEach() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetforeach experimentalchrome full support 42edge full support 13
firefox ?
... webview android full support 43chrome android full support 42
firefox android ?
MediaKeyStatusMap.get() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetget experimentalchrome full support 42edge full support 13
firefox full support yesie ?
... webview android full support 43chrome android full support 42
firefox android full support yesopera android full support 29safari ios ?
MediaKeyStatusMap.has() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethas experimentalchrome full support 42edge full support 13
firefox full support yesie ?
... webview android full support 43chrome android full support 42
firefox android full support yesopera android full support 29safari ios ?
MediaKeyStatusMap.keys() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetkeys experimentalchrome full support 42edge full support 16
firefox ?
... webview android full support 43chrome android full support 42
firefox android ?
MediaKeyStatusMap.size - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsize experimentalchrome full support 42edge full support 13
firefox full support yesie ?
... webview android full support 43chrome android full support 42
firefox android full support yesopera android full support 29safari ios ?
MediaKeyStatusMap.values() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetvalues experimentalchrome full support 42edge full support 16
firefox ?
... webview android full support 43chrome android full support 42
firefox android ?
MediaMetadata.album - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetalbum experimentalchrome full support 57edge no support no
firefox full support 71ie no support ...
... webview android no support nochrome android full support 57
firefox android ?
MediaMetadata.artist - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetartist experimentalchrome full support 57edge no support no
firefox full support 71ie no support ...
... webview android no support nochrome android full support 57
firefox android ?
MediaMetadata.artwork - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetartwork experimentalchrome full support 57edge no support no
firefox full support 71ie no support ...
... webview android no support nochrome android full support 57
firefox android ?
MediaMetadata.title - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettitle experimentalchrome full support 57edge no support no
firefox full support 71ie no support ...
... webview android no support nochrome android full support 57
firefox android ?
MediaRecorder.audioBitsPerSecond - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetaudiobitspersecond experimentalchrome full support 49edge full support 79
firefox full support 71ie no support ...
... noopera full support 36safari no support nowebview android full support 49chrome android full support 49
firefox android ?
MediaRecorder.ignoreMutedMedia - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetignoremutedmedia deprecatednon-standardchrome no support 49 — 57edge no support no
firefox ?
... ie no support noopera no support 36 — 44safari no support nowebview android no support 49 — 57chrome android no support 49 — 57
firefox android ?
MediaSession.playbackState - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetplaybackstate experimentalchrome full support 73edge full support ≤79
firefox no support noie no support ...
... webview android no support nochrome android full support 57
firefox android no support noopera android no support nosafari ios ?
MediaStream.getTracks() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetgettracks experimentalchrome full support 45edge full support 12
firefox full support yesie no support ...
... noopera full support yessafari full support yeswebview android full support 45chrome android full support 45
firefox android full support yesopera android no support nosafari ios full support yessamsung internet android full support 5.0legend full support full support no support no supportexperimental...
Metadata.modificationTime - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetmodificationtime experimentalnon-standardchrome full support 13edge full support ≤79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android full support yes
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supportexperimental.
Metadata.size - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsize experimentalnon-standardchrome full support 13edge full support ≤79
firefox no support noie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android full support yes
firefox android no support noopera android no support nosafari ios no support nosamsung internet android full support yeslegend full support full support no support no supportexperimental.
MutationEvent - Web APIs
they are expected to be included in
firefox 14 and chrome 18.
...domelementnamechanged and domattributenamechanged are not supported in
firefox (as of version 11), and probably in other browsers as well.
Navigator.registerContentHandler() - Web APIs
example navigator.registercontenthandler( "application/vnd.mozilla.maybe.feed", "http://www.example.tld/?foo=%s", "my feed reader" ); notes for
firefox 2 and above, only the application/vnd.mozilla.maybe.feed, application/atom+xml, and application/rss+xml mime types are supported.
...
firefox is the only browser that implemented this feature, and it wasn't implemented to match the standard.
Web-based protocol handlers - Web APIs
firefox displays a prompt in the notification bar area: note:the url template supplied when registering must be of the same domain as the webpage attempting to perform the registration or the registration will fail.
...
firefox will, by default, prompt the user before handing off the action.
Navigator.vendor - Web APIs
the value of the navigator vendor property is always either "google inc.", "apple computer, inc.", or (in
firefox) the empty string.
... syntax venstring = window.navigator.vendor value either "google inc.", "apple computer, inc.", or (in
firefox) the empty string.
NavigatorID.platform - Web APIs
for example: "macintel", "win32", "freebsd i386", "webtv os" example console.log(navigator.platform); usage notes most browsers, including chrome, edge, and
firefox 63 and later, return "win32" even if running on a 64-bit version of windows.
... internet explorer and versions of
firefox prior to version 63 still report "win64".
NavigatorID.userAgent - Web APIs
for example: in
firefox, you can change the preference general.useragent.override in about:config.
... some
firefox extensions do that; however, this only changes the http header that gets sent, and doesn't affect browser detection performed by javascript code.
Navigator.onLine - Web APIs
in
firefox and internet explorer, switching the browser to offline mode sends a false value.
... until
firefox 41, all other conditions return a true value; testing actual behavior on nightly 68 on windows shows that it only looks for lan connection like chrome and safari giving false positives.
Node.nodePrincipal - Web APIs
obsolete since gecko 46 (
firefox 46 / thunderbird 46 / seamonkey 2.43)this feature is obsolete.
...this is a
firefox-specific property.
Node - Web APIs
note: in
firefox 3.5 and earlier, the property upper-cases the local name for html elements (but not xhtml elements).
... note: in
firefox 3.5 and earlier, html elements are in no namespace.
NodeList.prototype.forEach() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetforeachchrome full support 51edge full support 16
firefox full support 50ie no support noopera ...
... full support 38safari full support 10webview android full support 51chrome android full support 51
firefox android full support 50opera android full support 41safari ios full support 10samsung internet android full support 5.0legend full support full support no support no support ...
Notification.requestPermission() - Web APIs
} we no longer show a live sample on this page, as chrome and
firefox no longer allow notification permissions to be requested from cross-origin <iframe>s, with other browsers to follow.
...
firefox is already doing this from version 72, for example.
Notification - Web APIs
} we no longer show a live sample on this page, as chrome and
firefox no longer allow notification permissions to be requested from cross-origin <iframe>s, with other browsers to follow.
...
firefox is already doing this from version 72, for example.
Notifications API - Web APIs
firefox is already doing this from version 72, for example.
... note: as of
firefox 44, the permissions for notifications and push have been merged.
OfflineAudioCompletionEvent.renderedBuffer - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrenderedbufferchrome full support 14edge full support 12
firefox full support 25ie no support n...
...oopera full support 15safari full support 6webview android full support yeschrome android full support 18
firefox android full support 26opera android full support 14safari ios full support yessamsung internet android full support 1.0legend full support full support no support no support ...
Performance.timeOrigin - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettimeorigin experimentalchrome full support 62edge full support 16
firefox full support 53ie ?
... opera full support 49safari no support nowebview android full support 62chrome android full support 62
firefox android full support 53opera android full support 46safari ios no support nosamsung internet android full support 8.0legend full support full support no support no support ...
PerformanceLongTaskTiming.attribution - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetattribution experimentalchrome full support 58edge full support ≤79
firefox no support noie ?
... webview android full support 58chrome android full support 58
firefox android no support noopera android full support yessafari ios ?
Permissions.revoke() - Web APIs
uservisibleonly: (push only, not supported in
firefox — see the browser compatibility section below) indicates whether you want to show a notification for every message or be able to send silent push notifications.
... note: as of
firefox 44, the permissions for notifications and push have been merged.
PhotoCapabilities.fillLightMode - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetfilllightmode experimentalchrome full support 59edge full support ≤79
firefox ?
... webview android full support 59chrome android full support 59
firefox android ?
PhotoCapabilities.imageHeight - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetimageheight experimentalchrome full support 59edge full support ≤79
firefox ?
... webview android full support 59chrome android full support 59
firefox android ?
imageWidth - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetimagewidth experimentalchrome full support 59edge full support ≤79
firefox ?
... webview android full support 59chrome android full support 59
firefox android ?
PhotoCapabilities.redEyeReduction - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetredeyereduction experimentalchrome full support 59edge full support ≤79
firefox ?
... webview android full support 59chrome android full support 59
firefox android ?
PushEvent.PushEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpushevent() constructor experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: t...
... full support 17
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no support nowebview android no support nochrome android full support 42
firefox android full support 44 ful...
PushEvent.data - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdata experimentalchrome full support 57edge full support 16disabled full support 16disabled disabled from version 16: this feature is behi...
... full support 17
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 44safari no support nowebview android no support nochrome android full support 57
firefox android full support 44 full support ...
PushManager.hasPermission() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethaspermission experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: this featur...
... full support 17
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 29safari no support nowebview android no support nochrome android full support 42
firefox android full support 48notes full su...
PushManager.supportedContentEncodings - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsupportedcontentencodings experimentalchrome full support 60edge full support 16disabled full support 16disabled disabled from version 16:...
... full support 17
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 47safari no support nowebview android no support nochrome android full support 60
firefox android full support 48notes ...
PushMessageData.arrayBuffer() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetarraybuffer experimentalchrome full support 50edge full support ≤79
firefox full support 44notes full support ...
... 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no support nowebview android no support nochrome android full support 50
firefox android full support 48opera android full support 37safari ios no support nosamsung internet android full support 5.0legend ...
PushMessageData.blob() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetblob experimentalchrome full support 50edge full support ≤79
firefox full support 44notes full support ...
... 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no support nowebview android no support nochrome android full support 50
firefox android full support 48opera android full support 37safari ios no support nosamsung internet android full support 5.0legend ...
PushMessageData.json() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetjson experimentalchrome full support 50edge full support ≤79
firefox full support 44notes full support ...
... 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no support nowebview android no support nochrome android full support 50
firefox android full support 48opera android full support 37safari ios no support nosamsung internet android full support 5.0legend ...
PushMessageData.text() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettext experimentalchrome full support 50edge full support ≤79
firefox full support 44notes full support ...
... 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 37safari no support nowebview android no support nochrome android full support 50
firefox android full support 48opera android full support 37safari ios no support nosamsung internet android full support 5.0legend ...
PushSubscription.expirationTime - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetexpirationtimechrome full support 60edge full support 16
firefox no support noie no support noo...
...pera full support 47safari no support nowebview android no support nochrome android full support 60
firefox android no support noopera android full support 44safari ios no support nosamsung internet android full support 8.0legend full support full support no support no support ...
PushSubscription.options - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetoptionschrome full support 42edge full support 16
firefox full support 44notes full support 44...
...notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 29safari no support nowebview android no support nochrome android full support 42
firefox android full support 48opera android full support 29safari ios no support nosamsung internet android full support 4.0legend full s...
PushSubscription.subscriptionId - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsubscriptionidchrome full support 42edge full support ≤18
firefox no support noie no support ...
...noopera full support 29safari no support nowebview android no support nochrome android full support 42
firefox android no support noopera android full support 29safari ios no support nosamsung internet android full support 4.0legend full support full support no support no support ...
RTCRtpReceiver.track - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettrackchrome full support 59edge full support 12
firefox full support yesie no support noopera ...
... full support 46safari full support yeswebview android full support 59chrome android full support 59
firefox android full support yesopera android full support 43safari ios full support yessamsung internet android full support 7.0legend full support full support no support no support ...
Range.compareNode() - Web APIs
obsolete since gecko 1.9 (
firefox 3)this feature is obsolete.
... warning: this method has been removed from gecko 1.9 (
firefox 3) and will not exist in future versions of
firefox, which was the only browser implementing it; you should switch to range.compareboundarypoints() as soon as possible.
SVGAElement.target - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettargetchrome full support yesedge full support 12
firefox full support yesie full support 9oper...
...a full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support ...
SVGAnimatedAngle - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedanglechrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support 10webview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support 3samsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedBoolean - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedbooleanchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedEnumeration - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedenumerationchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedInteger - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedintegerchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedLength - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedlengthchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedLengthList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedlengthlistchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedNumber - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatednumberchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedNumberList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatednumberlistchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedPreserveAspectRatio - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedpreserveaspectratiochrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedRect - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedrectchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGAnimatedString.animVal - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetanimvalchrome full support yesedge full support 12
firefox full support yesie no support nooper...
...a full support yessafari full support yeswebview android full support yeschrome android no support no
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android no support nolegend full support full support no support no support ...
SVGAnimatedString.baseVal - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetbasevalchrome full support yesedge full support 12
firefox full support yesie no support nooper...
...a full support yessafari full support yeswebview android full support yeschrome android no support no
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android no support nolegend full support full support no support no support ...
SVGAnimatedTransformList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvganimatedtransformlistchrome full support yesedge full support ≤18
firefox full support 9ie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support 9opera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGImageElement.decoding - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdecoding experimentalchrome full support 65edge full support ≤79
firefox ?
... webview android full support 65chrome android full support 65
firefox android ?
SVGLength - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvglengthchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGLengthList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvglengthlistchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android no support nochrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
SVGNumberList - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgnumberlistchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
SVGPreserveAspectRatio - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgpreserveaspectratiochrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
SVGTransform - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsvgtransformchrome full support yesedge full support ≤18
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown c...
ScreenOrientation.angle - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetanglechrome full support 38edge full support 79
firefox full support 43ie no support noopera ...
... full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.lock() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlockchrome full support 38edge full support 79
firefox full support 43ie no support noopera ...
... full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.onchange - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetonchangechrome full support 38edge full support 79
firefox full support 43ie no support noopera...
... full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.type - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettypechrome full support 38edge full support 79
firefox full support 43ie no support noopera ...
... full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.unlock() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetunlockchrome full support 38edge full support 79
firefox full support 43ie no support noopera ...
... full support 25safari no support nowebview android full support 38chrome android full support 38
firefox android full support 43opera android full support 25safari ios no support nosamsung internet android full support 3.0legend full support full support no support no support ...
Selection.removeAllRanges() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetremoveallranges experimentalchrome full support yesedge full support 12
firefox full support yesie full support ...
... yesopera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full supportexperimental.
Selection.removeRange() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetremoverange experimentalchrome full support 58edge full support 12
firefox full support yesie ?
... opera full support 45safari no support nowebview android full support 58chrome android full support 58
firefox android full support yesopera android full support 43safari ios no support nosamsung internet android full support 7.0legend full support full support no support no support ...
Selection.selectionLanguageChange() - Web APIs
obsolete since gecko 29 (
firefox 29 / thunderbird 29 / seamonkey 2.26)this feature is obsolete.
... selection.selectionlanguagechange() method is a gecko/
firefox internal method that was exposed to web pages until
firefox 29.
Selection.toString() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettostring experimentalchrome full support 1edge full support ≤18
firefox full support yesie ?
... webview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios ?
ServiceWorkerRegistration.navigationPreload - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnavigationpreload experimentalchrome full support 59edge full support 17 full support 17 full support ...
... 16disabled disabled from version 16: this feature is behind the enable service workers preference.
firefox full support 44notes full support 44notes notes extended support releases (esr) before
firefox 78 esr do not support service workers and the push api.ie no support noopera full support 46safari full support 11.1webview android full support 59chrome android full support 59
firefox android full support 44opera android ...
StereoPannerNode.StereoPannerNode() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetstereopannernode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ...
... ≤79
firefox full support 53ie no support noopera full support 42safari no support nowebview android full support 55notes full support 55notes notes before chrome 59, the default values were not supported.chrome android full support 55notes full support 55notes notes before chrome 59, the default values were not supported.
firefox android full support 53opera android ...
TaskAttributionTiming.containerId - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcontainerid experimentalchrome full support 58edge full support ≤79
firefox no support noie ?
... webview android full support 58chrome android full support 58
firefox android no support noopera android full support yessafari ios ?
TaskAttributionTiming.containerType - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetcontainertype experimentalchrome full support 58edge full support ≤79
firefox no support noie ?
... webview android full support 58chrome android full support 58
firefox android no support noopera android full support yessafari ios ?
HTMLSlotElement.assignedSlot - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetassignedslotchrome full support 53edge full support ≤18
firefox full support yesie ?
... opera full support 40safari full support 10.1webview android full support 53chrome android full support 53
firefox android full support yesopera android full support 41safari ios full support 10.3samsung internet android full support 6.0legend full support full support compatibility unknown com...
TextEncoder() - Web APIs
syntax encoder = new textencoder(); parameters textencoder() takes no parameters since
firefox 48 and chrome 53 note: prior to
firefox 48 and chrome 53, an encoding type label was accepted as a paramer to the textencoder object, since then both browers have removed support for any encoder type other than utf-8, to match the spec.
... exceptions textencoder() throws no exceptions since
firefox 48 and chrome 53 note: prior to
firefox 48 and chrome 53 an exception would be thrown for an unknown encoding type.
UIEvent.initUIEvent() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetinituievent deprecatednon-standardchrome full support yesedge full support 12
firefox full support yesie ?
... webview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios ?
UIEvent.layerX - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetlayerx non-standardchrome full support yesedge full support 12
firefox full support yesie full support ...
... 9opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full supportnon-standard.
URLUtilsReadOnly.host - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethost experimentalchrome no support noedge no support no
firefox full support 3.5ie no support n...
...oopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.hostname - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethostname experimentalchrome no support noedge no support no
firefox full support 3.5ie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.href - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internethref experimentalchrome no support noedge no support no
firefox full support 3.5ie no support n...
...oopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.origin - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetorigin experimentalchrome no support noedge no support no
firefox full support 29ie no support ...
...noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 29opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.pathname - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpathname experimentalchrome no support noedge no support no
firefox full support 3.5ie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.port - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetport experimentalchrome no support noedge no support no
firefox full support 3.5ie no support n...
...oopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.protocol - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetprotocol experimentalchrome no support noedge no support no
firefox full support 3.5ie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.search - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsearch experimentalchrome no support noedge no support no
firefox full support 3.5ie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.toString() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internettostring experimentalchrome no support noedge no support no
firefox full support 3.5ie no support ...
... noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android full support 4opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportexperimental.
WebGL2RenderingContext.samplerParameter[if]() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsamplerparameterichrome full support 56edge full support 79
firefox full support 51ie no support ...
... noopera full support 43safari no support nowebview android full support 58chrome android full support 58
firefox android full support 51opera android full support 43safari ios no support nosamsung internet android full support 7.0legend full support full support no support no support ...
WebGL: 2D and 3D graphics for the web - Web APIs
support for webgl is present in
firefox 4+, google chrome 9+, opera 12+, safari 5.1+, internet explorer 11+, and microsoft edge build 10240+; however, the user's device must also have hardware that supports these features.
... see also the blog post "webgl 2 lands in
firefox" and webglsamples.org/webgl2samples for a few demos.
Improving compatibility using WebRTC adapter.js - Web APIs
for example, on
firefox versions older than 38, the adapter adds the rtcpeerconnection.urls property;
firefox doesn't natively support this property until
firefox 38, while on chrome, the adapter adds support for the promise based api is added if it's not present.
... the webrtc adapter currently supports mozilla
firefox, google chrome, apple safari, and microsoft edge.
Starting up and shutting down a WebXR session - Web APIs
webxr api emulator extension the mozilla webxr team has created a webxr api emulator browser extension, compatible with both
firefox and chrome, which emulates the webxr api, simulating a variety of compatible devices such as the htc vive, the oculus go and oculus quest, samsung gear, and google cardboard.
... getting the extension download the webxr api emulator for your supported browser below: google chrome mozilla
firefox the source code for the extension is also available on github.
Using the Web Animations API - Web APIs
browser support the basic web animations api features discussed in this article are available by default in
firefox 48+ and chrome 36+.
... conclusion these are the basic features of the web animations api, most of which are already supported across the latest release versions of
firefox and chrome.
Web Storage API - Web APIs
note: from
firefox 45 onwards, when the browser crashes/restarts, the amount of data saved per origin is limited to 10mb.
... note: access to web storage from third-party iframes is denied if the user has disabled third-party cookies (
firefox implements this behaviour from version 43 onwards.) note: web storage is not the same as mozstorage (mozilla's xpcom interfaces to sqlite) or the session store api (an xpcom storage utility for use by extensions).
Functions and classes available to Web Workers - Web APIs
unknown no postmessage() yes, on dedicatedworkerglobalscope no no unknown no apis available in workers function functionality support in gecko (
firefox) support in ie support in blink (chrome and opera) support in webkit (safari) broadcast channel api allows simple communication between browsing contexts (that is windows, tabs, frames, or iframes) with the same origin (usually pages from the same site).
... 41 (41) (yes) (yes) (yes) console api provides access to the browser's debugging console (e.g., the web console in
firefox).
Web Workers API - Web APIs
chrome workers are a
firefox-only type of worker that you can use if you are developing add-ons and want to use workers in extensions and have access to js-ctypes in your worker.
...this has been implemented in
firefox 42.
Window.content - Web APIs
note: since
firefox 57 (initially nightly-only), both the content and _content variants are only available to chrome (privileged) code, and not available to the web anymore.
...this is useful in xul windows that have a <browser> (or tabbrowser or <iframe>) with type="content-primary" attribute on it — the most famous example is
firefox main window, browser.xul.
Window.devicePixelRatio - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdevicepixelratiochrome full support 1edge full support 12
firefox full support 18ie full support ...
... 11opera full support 11.1safari full support 3webview android full support 1chrome android full support 18
firefox android full support 18opera android full support 11.1safari ios full support 1samsung internet android full support 1.0legend full support full support ...
window.dump() - Web APIs
the message passed to dump() is sent to the system console (native console) if the
firefox process was started with the -console option.
... to redirect the console output to a file, run
firefox without the -console option and use the syntax to redirect stderr and stdout to a file, i.e.:
firefox > console.txt 2>&1 if you would like the console messages to appear in the console you used to launch the application, you can use the gecko console redirector.
Window.getSelection() - Web APIs
where display: none is set)
firefox will return null, whereas other browsers will return a selection object with selection.type set to none.
... it is worth noting that currently getselection() doesn't work on the content of <textarea> and <input> elements in
firefox, edge (legacy) and internet explorer.
Window.minimize() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetminimize non-standardchrome no support noedge no support no
firefox no support noie ?
... webview android no support nochrome android no support no
firefox android no support noopera android ?
Obsolete features - Web APIs
it renders the bookmarks toolbar in
firefox.
... mozilla and
firefox users can force new windows to always render the personal toolbar/bookmarks toolbar by setting dom.disable_window_open_feature.personalbar to true in about:config or in their user.js file.
Window.openDialog() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetopendialog non-standardchrome no support noedge no support no
firefox no support noie ?
... webview android no support nochrome android no support no
firefox android no support noopera android ?
Window.pkcs11 - Web APIs
obsolete since gecko 29 (
firefox 29 / thunderbird 29 / seamonkey 2.26)this feature is obsolete.
... note: this property has been returned null since gecko 1.9.0.14 (
firefox 3.0.14) and removed in gecko 29.0 (
firefox 29 / thunderbird 29 / seamonkey 2.26)) for security reasons.
Window.releaseEvents() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetreleaseevents deprecatednon-standardchrome full support yesedge full support 12
firefox full support yesie ?
... opera full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support compatibility unknown compatibility unknownnon-standard.
window.requestIdleCallback() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrequestidlecallback experimentalchrome full support 47edge full support 79
firefox full support 55notes full support ...
...53 — 55notes notes implemented but disabled by default.ie no support noopera full support 34safari no support nowebview android full support 47chrome android full support 47
firefox android full support 55notes full support 55notes notes enabled by default.
Window.restore() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrestorechrome no support noedge no support no
firefox no support noie ?
... webview android no support nochrome android no support no
firefox android no support noopera android ?
Window.setCursor() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetsetcursor non-standardchrome no support noedge no support no
firefox no support noie ?
... webview android no support nochrome android no support no
firefox android no support noopera android ?
Window.stop() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetstopchrome full support yesedge full support 14
firefox full support yesie no support noopera ...
... full support yessafari full support yeswebview android full support yeschrome android full support yes
firefox android full support yesopera android full support yessafari ios full support yessamsung internet android full support yeslegend full support full support no support no support ...
Window.updateCommands() - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetupdatecommands non-standardchrome no support noedge no support no
firefox full support yesie ?
... webview android no support nochrome android no support no
firefox android full support yesopera android ?
Worker.prototype.postMessage() - Web APIs
transfer example this example shows a
firefox add-on that transfers an arraybuffer from the main thread to the chromeworker, and then the chromeworker transfers it back to the main thread.
...to see a full working example of this
firefox demo add-on see here: github :: chromeworker - demo-transfer-arraybuffer specifications specification status comment html living standardthe definition of 'worker.postmessage()' in that specification.
WorkerNavigator.permissions - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpermissions experimentalchrome full support 43edge full support ≤79
firefox no support noie ?
... opera full support 30safari no support nowebview android full support 43chrome android full support 43
firefox android no support noopera android full support 30safari ios no support nosamsung internet android full support 4.0legend full support full support no support no support ...
WritableStreamDefaultWriter.ready - Web APIs
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetready experimentalchrome full support 59edge full support 16
firefox no support noie no support ...
... webview android full support 59chrome android full support 59
firefox android no support noopera android full support 43safari ios ?
XMLHttpRequest() - Web APIs
non-standard
firefox syntax
firefox 16 added a non-standard parameter to the constructor that can enable anonymous mode (see bug 692677).
...this only works in privileged (reviewed) apps (bug 692677); it does not work on arbitrary webpages loaded in
firefox ...
XMLHttpRequest - Web APIs
xmlhttprequest.multipartobsolete since gecko 22 this gecko-only feature, a boolean, was removed in
firefox/gecko 22.
... more recent browsers, including
firefox, also support listening to the xmlhttprequest events via standard addeventlistener() apis in addition to setting on* properties to a handler function.
XMLHttpRequestResponseType - Web APIs
deprecated values moz-chunked-arraybuffer a
firefox-only value which instructs xmlhttprequest to deliver arraybuffer objects containing chunks of the incoming data.
...you shouldn't use this non-standard (and, as of
firefox 68, entirely removed) api; instead, consider using the fetch api with readable streams, which offers a standard alternative to accessing the response in a streaming fashion.
XSL Transformations in Mozilla FAQ - Web APIs
note that
firefox will override your xslt stylesheet if your xml is detected as an rss or atom feed.
... a known workaround is to add a sufficiently long xml comment to the beginning of your xml file in order to "push" the <feed> or <rss> tag out of the first 512 bytes, which is analyzed by
firefox to determine if it's a feed or not.
ARIA live regions - Accessibility
in windows eyes supports live regions since version 8.0 "for use outside of browse mode for microsoft internet explorer and mozilla
firefox".
... nvda added some basic support for live regions for mozilla
firefox back in 2008 and was improved in 2010 and 2014.
ARIA annotations - Accessibility
aria annotation roles and objects are currently exposed in:
firefox from version 75 onwards, on windows and linux (on macos, we are first waiting for apple to define what safari will expose as apple-dialect attributes to voiceover, and will then follow suit.) chrome from version 81 onwards, currently behind the #enable-accessibility-expose-aria-annotations flag (go to chrome://flags to enable this.) unfortunately, you won’t be able to use any of these yet, a...
...for the moment, you can see the annotations data being exposed with tools like
firefox accessibility inspector.
Web applications and ARIA FAQ - Accessibility
browsers aria is supported in the following browsers: browser minimum version notes
firefox 3.0+ works with nvda, jaws 10+, and orca chrome latest screen reader support still experimental as of chrome 15 safari 4+ safari 5 support is much improved.
...some of them include: assistive technology minimum version for basic aria minimum version for live region and alert support nvda 2010.2 (nvda is always a free upgrade) 2011.1 for
firefox, no live region support in ie as of 2011.2.
Accessibility: What users can do to browse more safely - Accessibility
learn personalization and accessibility settings
firefox 73 and above (dekstop)
firefox added support for css prefers-reduced-motion in october 2018.
...using
firefox as an example, it explains that by changing the value the image.animation_mode from "normal" to "none", all animated images will be blocked.
Accessibility documentation index - Accessibility
11 multipart labels: using aria for labels with embedded fields inside them aria, accessibility, ben millard,
firefox, guide, help, html, html 4, jaws, needscontent, aria-labelledby, label, solution, trouble shoot, troubleshoot the solution is in an aria attribute called aria-labelledby.
... 94 mobile accessibility checklist accessibility,
firefox os, guidelines, mobile, checklist this document provides a concise checklist of accessibility requirements for mobile app developers.
:defined - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:definedchrome full support 54edge full support 79
firefox full support 63ie no support noopera...
... full support 41safari full support 10webview android full support 54chrome android full support 54
firefox android full support 63opera android full support 41safari ios full support 10samsung internet android full support 6.0legend full support full support no support no support ...
:has() - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:has()chrome no support nonotes no support nonotes notes see bug 669058edge no support nonotes no support ...
... nonotes notes see bug 669058
firefox no support nonotes no support nonotes notes see bug 418039ie no support noopera no support nosafari no support nowebview android no support nochrome android no support no
firefox android no support nonotes no support nonotes notes see bug 418039opera android no support nosafari ios no supp...
:host-context() - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:host-context()chrome full support 54edge full support 79
firefox no support nonotes no support ...
... nonotes notes see bug 1082060.ie no support noopera full support 41safari no support nowebview android full support 54chrome android full support 54
firefox android no support nonotes no support nonotes notes see bug 1082060.opera android full support 41safari ios no support nosamsung internet android full support 6.0legend ...
:link - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:linkchrome full support 1edge full support 12
firefox full support 1ie full support 3opera ...
... full support 3.5safari full support 1webview android full support 1.5chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 3.2samsung internet android full support 1.0legend full support full support ...
:read-only - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:read-onlychrome full support 1edge full support 13
firefox full support 78 full support 78 ...
...xed prefixed implemented with the vendor prefix: -moz-ie no support noopera full support 9safari full support 4webview android full support ≤37chrome android full support 18
firefox android full support 4prefixed full support 4prefixed prefixed implemented with the vendor prefix: -moz-opera android full support 10.1safari ios full support 3.2samsung internet android full support ...
:read-write - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet:read-writechrome full support 1edge full support 13
firefox full support 78 full support 78 ...
...xed prefixed implemented with the vendor prefix: -moz-ie no support noopera full support 9safari full support 4webview android full support ≤37chrome android full support 18
firefox android full support 4prefixed full support 4prefixed prefixed implemented with the vendor prefix: -moz-opera android full support 10.1safari ios full support 3.2samsung internet android full support ...
@charset - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet@charsetchrome full support 2edge full support 12
firefox full support 1.5notes full support 1...
....5notes notes
firefox 1 supported an invalid syntax where the character encoding is not between single or double quotes.ie full support 5.5notes full support 5.5notes notes from internet explorer 5.5 to ie 7 (inclusive), internet explorer supported an invalid syntax where the character encoding is not between single or double quotes.opera full support 9safari full support 4webview android full support 2chrome android full support 18
firefox android full support 4opera android ...
@document - CSS: Cascading Style Sheets
@document is currently only supported in
firefox; if you wanted to replicate using such functionality in your own non-
firefox browser, you could try using this polyfill by @an-error94, which uses a combination of a user script, data-* attributes, and attribute selectors.
...this has been limited to use only in user and ua sheets in
firefox 59 in nightly and beta — an experiment designed to mitigate potential css injection attacks (see bug 1035091).
-moz-device-pixel-ratio - CSS: Cascading Style Sheets
media: media/visual accepts min/max prefixes: yes examples basic compatibility example -moz-device-pixel-ratio may be used for compatibility with
firefox older than 16, and alongside -webkit-device-pixel-ratio for compatibility with webkit-based browsers that do not support dppx.
... example: @media (-webkit-min-device-pixel-ratio: 2), /* webkit-based browsers */ (min--moz-device-pixel-ratio: 2), /* older
firefox browsers (prior to
firefox 16) */ (min-resolution: 2dppx), /* the standard way */ (min-resolution: 192dpi) /* dppx fallback */ note: see this csswg article for compatibility good practices regarding resolution and dppx.
prefers-reduced-motion - CSS: Cascading Style Sheets
user preferences for
firefox, the reduce request is honoured if: in gtk/gnome: gnome tweaks > general tab (or appearance, depending on version) > animations is turned off.
... in
firefox about:config: add a number preference called ui.prefersreducedmotion and set its value to 1.
Using multiple backgrounds - CSS: Cascading Style Sheets
example in this example, three backgrounds are stacked: the
firefox logo, an image of bubbles, and a linear gradient: html <div class="multi-bg-example"></div> css .multi-bg-example { width: 100%; height: 400px; background-image: url(https://mdn.mozillademos.org/files/11305/
firefox.png), url(https://mdn.mozillademos.org/files/11307/bubbles.png), linear-gradient(to right, rgba(30, 75, 115, 1), rgba(255, 255, 255, 0)); background-repeat: no-...
...repeat, no-repeat, no-repeat; background-position: bottom right, left, right; } result (if image does not appear in codepen, click the 'tidy' button in the css section) as you can see here, the
firefox logo (listed first within background-image) is on top, directly above the bubbles graphic, followed by the gradient (listed last) sitting underneath all previous 'images'.
Subgrid - CSS: Cascading Style Sheets
important: this feature is shipped in
firefox 71, which is currently the only browser to implement subgrid.
... if you inspect this in the
firefox grid inspector you can see how the line of the grid is in the correct place down the center of the gap, so when we set the gap to 0, it acts in a similar way to applying a negative margin to an element, giving the space from the gap back to the item.
Basic Shapes - CSS: Cascading Style Sheets
the
firefox shapes inspector helpfully shows the reference box in use when you inspect a shape.
... you may well find the
firefox shape inspector very useful here to create your polygon shape.
Overview of CSS Shapes - CSS: Cascading Style Sheets
developer tools for shapes along with css shapes support in the browser,
firefox are shipping a shape path editor in the
firefox devtools.
... the shape path editor will be enabled by default in
firefox 60 for shapes generated via clip-path.
Mozilla CSS extensions - CSS: Cascading Style Sheets
mozilla applications such as
firefox support a number of special mozilla extensions to css, including properties, values, pseudo-elements and pseudo-classes, at-rules, and media queries.
... mozilla-only properties and pseudo-classes (avoid using on websites) note: these properties and pseudo-classes will only work in mozilla applications such as
firefox, and are not on a standards track.
Cubic Bezier Generator - CSS: Cascading Style Sheets
ake sure we don't execute when canvas isn't supported if (canvas.getcontext) { // use getcontext to use the canvas for drawing var ctx = canvas.getcontext('2d'); scaling = math.min(canvas.height - rulers - margin, canvas.width - rulers - margin); canvas.onmousedown = mousedown; canvas.onmouseup = mouseup; } else { alert('you need safari or
firefox 1.5+ to see this demo.'); } } function cx(x) { return x * scaling + rulers; } function reversex(x) { return (x - rulers) / scaling; } function lx(x) { //used when drawing vertical lines to prevent subpixel blur var result = cx(x); return math.round(result) == result ?
...e = "black"; ctx.fillstyle = "black"; ctx.arc(cx(1), cy(1), radius, 0, 2 * math.pi); ctx.fill(); ctx.stroke(); ctx.closepath(); // draw the p0(0,0) point ctx.beginpath(); ctx.arc(cx(0), cy(0), radius, 0, 2 * math.pi); ctx.fill(); ctx.stroke(); ctx.closepath(); } else { alert('you need safari or
firefox 1.5+ to see this demo.'); } } function mousedown(e) { var canvas = document.getelementbyid('bezier'); var x1 = cx(document.getelementbyid('x1').value); var y1 = cy(document.getelementbyid('y1').value); var x = e.pagex - canvas.offsetleft; var y = e.pagey - canvas.offsettop; var output = document.getelementbyid('output'); output.value = "(" + x + "," + y + ") s...
<blend-mode> - CSS: Cascading Style Sheets
examples blend mode comparison in the following example, we have a <div> with two background images set on it — a
firefox logo on top of a linear gradient.
...n> <option>hard-light</option> <option>soft-light</option> <option>difference</option> <option>exclusion</option> <option>hue</option> <option>saturation</option> <option>color</option> <option>luminosity</option> </select> css div { width: 300px; height: 300px; background: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/
firefox.png) no-repeat center, linear-gradient(to bottom, blue, orange); } javascript const selectelem = document.queryselector('select'); const divelem = document.queryselector('div'); selectelem.addeventlistener('change', () => { divelem.style.backgroundblendmode = selectelem.value; }); result specifications specification status comment compositing and blending l...
border-bottom-width - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborder-bottom-widthchrome full support 1edge full support 12
firefox full support 1ie full support ...
... 4opera full support 3.5safari full support 1webview android full support 2.3chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full support see also the other border-width-related css properties: border-left-width, border-right-width, border-to...
border-collapse - CSS: Cascading Style Sheets
mal definition initial valueseparateapplies totable and inline-table elementsinheritedyescomputed valueas specifiedanimation typediscrete formal syntax collapse | separate examples a colorful table of browser engines html <table class="separate"> <caption><code>border-collapse: separate</code></caption> <tbody> <tr><th>browser</th> <th>layout engine</th></tr> <tr><td class="fx">
firefox</td> <td class="gk">gecko</td></tr> <tr><td class="ed">edge</td> <td class="tr">edgehtml</td></tr> <tr><td class="sa">safari</td> <td class="wk">webkit</td></tr> <tr><td class="ch">chrome</td> <td class="bk">blink</td></tr> <tr><td class="op">opera</td> <td class="bk">blink</td></tr> </tbody> </table> <table class="collapse"> <caption><code>border-collapse: collapse</code></ca...
...ption> <tbody> <tr><th>browser</th> <th>layout engine</th></tr> <tr><td class="fx">
firefox</td> <td class="gk">gecko</td></tr> <tr><td class="ed">edge</td> <td class="tr">edgehtml</td></tr> <tr><td class="sa">safari</td> <td class="wk">webkit</td></tr> <tr><td class="ch">chrome</td> <td class="bk">blink</td></tr> <tr><td class="op">opera</td> <td class="bk">blink</td></tr> </tbody> </table> css .collapse { border-collapse: collapse; } .separate { border-collapse: separate; } table { display: inline-table; margin: 1em; border: dashed 5px; } table th, table td { border: solid 3px; } .fx { border-color: orange blue; } .gk { border-color: black red; } .ed { border-color: blue gold; } .tr { border-color: aqua; } .sa { border-color: silver blue; } .wk { bor...
border-left - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborder-leftchrome full support 1edge full support 12
firefox full support 1ie full support 4ope...
...ra full support 3.5safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full support ...
border-right - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborder-rightchrome full support 1edge full support 12
firefox full support 1ie full support 5.5...
...opera full support 9.2safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 14opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full support ...
border-top - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborder-topchrome full support 1edge full support 12
firefox full support 1ie full support 4oper...
...a full support 3.5safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full support ...
border - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetborderchrome full support 1edge full support 12
firefox full support 1ie full support 4opera ...
... full support 3.5safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full support ...
direction - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetdirectionchrome full support 2edge full support 12
firefox full support 1ie full support 5.5ope...
...ra full support 9.2safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full support ...
empty-cells - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetempty-cellschrome full support 1edge full support 12
firefox full support 1ie full support 8ope...
...ra full support 4safari full support 1.2webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 3.1samsung internet android full support 1.0legend full support full support ...
font-smooth - CSS: Cascading Style Sheets
firefox implements a similar property, but with different values: -moz-osx-font-smoothing.
... formal definition initial valueautoapplies toall elementsinheritedyescomputed valueas specifiedanimation typediscrete formal syntax auto | never | always | <absolute-size> | <length>where <absolute-size> = xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large examples basic usage example the following example shows the safari/chromium and
firefox equivalents that turn on font-smoothing on macos.
ime-mode - CSS: Cascading Style Sheets
description unlike internet explorer,
firefox's implementation of ime-mode allows this property on <input type="password">.
...users may correct the inappropriate behavior of sites that don't follow this recommendation by placing the following css into their user stylesheet: input[type=password] { ime-mode: auto !important; } the mac version of gecko 1.9 (
firefox 3) can't recover the previous state of the ime when a field for which it is disabled loses focus, so mac users may get grumpy when you use the disabled value.
initial - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetinitialchrome full support 1edge full support 13
firefox full support 19 full support 19 ...
...ixed prefixed implemented with the vendor prefix: -moz-ie no support noopera full support 15safari full support 1.2webview android full support 1chrome android full support 18
firefox android full support 19 full support 19 no support 4 — 24prefixed prefixed implemented with the vendor prefix: -moz-opera android full support 14safari ios full support 1samsung internet andr...
<integer> - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internet<integer>chrome full support 1edge full support 12
firefox full support 1ie full support 3opera...
... full support 3.5safari full support 1webview android full support ≤37chrome android full support 18
firefox android full support 4opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full support ...
object-fit - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetobject-fitchrome full support 31edge full support 16notes full support 16notes notes edge supports object-fit on img elements only.
... see edge issue 13603873 for details.
firefox full support 36ie no support noopera full support 19 full support 19 full support 11.6prefixed prefixed implemented with the vendor prefix: -o-safari full support 10webview android full support 4.4.3chrome android full support 31
firefox android full support 36opera android full support 19 full s...
orphans - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetorphanschrome full support 25edge full support 12
firefox no support noie full support 8opera ...
... full support 9.2safari full support 1.3webview android full support ≤37chrome android full support 25
firefox android no support noopera android full support 14safari ios full support 1samsung internet android full support 1.5legend full support full support no support no support see also widows paged ...
outline-offset - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetoutline-offsetchrome full support 1edge full support 15
firefox full support 1.5ie no support n...
...oopera full support 9.5safari full support 1.2webview android full support 37chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full support no support no support ...
page-break-after - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpage-break-afterchrome full support 1edge full support 12
firefox full support 1notes full support ...
...tes the values avoid, left, and right are unsupported.ie full support 4opera full support 7safari full support 1.2webview android full support 37chrome android full support 18
firefox android full support 4notes full support 4notes notes the values avoid, left, and right are unsupported.opera android full support 14safari ios full support 1samsung internet android full support ...
page-break-before - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpage-break-beforechrome full support 1edge full support 12
firefox full support 1notes full support ...
...tes the values avoid, left, and right are unsupported.ie full support 4opera full support 7safari full support 1.2webview android full support 37chrome android full support 18
firefox android full support 4notes full support 4notes notes the values avoid, left, and right are unsupported.opera android full support 14safari ios full support 1samsung internet android full support ...
paint() - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetpaint()chrome full support 65edge full support 79
firefox no support noie no support noopera ...
... full support 52safari no support nowebview android full support 65chrome android full support 65
firefox android no support noopera android full support 47safari ios no support nosamsung internet android full support 9.2legend full support full support no support no support see also paintworklet css painti...
right - CSS: Cascading Style Sheets
desktopmobilechromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetrightchrome full support 1edge full support 12
firefox full support 1ie full support 5.5opera ...
... full support 5safari full support 1webview android full support 1chrome android full support 18
firefox android full support 4opera android full support 14safari ios full support 1samsung internet android full support 1.0legend full support full support ...
text-transform - CSS: Cascading Style Sheets
in irish (ga), certain prefixed letters remain in lowercase when the base initial is capitalized, so for example text-transform: uppercase will change ar aon tslí to ar aon tslÍ and not, as one might expect, ar aon tslÍ (
firefox only).
...this resulted in differences between browsers in the way the first letter was calculated (
firefox considered - and _ as letters, but other browsers did not.
Cross-browser audio basics - Developer guides
desktop desktop browser version chrome 4+
firefox 3.5+ internet explorer 9+ opera 10.5+ safari 4+ mobile mobile browser version chrome (android) 32+
firefox (android) 26+ ie mobile 10+ opera mobile 11+ safari (ios) 4+ android browser 2.3+ blackberry 7+ audio codec support browser o...
...gg mp3 aac pcm opus
firefox 3.5+ ✓ ✓ *26+ ✓ ✓ *14+ safari 5+ ✓ ✓ chrome 6+ ✓ ✓ ✓ ✓ *9+ opera 10.5+ ✓ internet explorer 9+ ✓ ✓
firefox mobile ✓ ✓ ✓ ✓ ✓ safari ios3+ ✓ ✓ ✓ *4.2+ chrome mobile ✓ ✓ ✓ ✓ opera mobile ✓ ✓ ✓ ✓ internet explorer mobile ✓ ✓ ✓ ✓ android 2.3+ ✓ ✓ ✓ ✓ note: we are at the stage where nearly all browsers support mp3 — for more details visit this page on media format browser compatibility.
Web Audio playbackRate explained - Developer guides
browser support chrome 20+ ✔
firefox 20+ ✔ ie 9+ ✔ safari 6+ ✔ opera 15+ ✔ mobile chrome (android) ✖ mobile
firefox 24+ ✔ ie mobile ✖ mobile safari 6+ (ios) ✔ opera mobile ✖ notes most browsers stop playing audio outside playbackrate bounds of 0.5 and 4, leaving the video playing silently.
...
firefox generates a ratechange event when the media source is substituted.
Mouse gesture events - Developer guides
this is typically used to zoom in and out on content (this is the default behavior in
firefox, for example).
...
firefox uses this gesture to move backward and forward through the tabs in the current window.
Mutation events - Developer guides
they are expected to be included in
firefox 14 and chrome 18.
...domelementnamechanged and domattributenamechanged are not supported in
firefox (as of version 11), and probably in other browsers as well.
Event developer guide - Developer guides
when a browser accesses a web page, including events from preparing a web page for display, from interacting with the content of the web page, relating to the device on which the browser is running, and from many other causes such as media stream playback or animation timing.touch events (mozilla experimental)the experimental touch events api described on this page was available from gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) to gecko/
firefox 17.
... you should instead use the standard touch events api, supported since gecko/
firefox 6 with multi-touch support added in gecko/
firefox 12.using device orientation with 3d transformsthis article provides tips on how to use device orientation information in tandem with css 3d transforms.
Rich-Text Editing in Mozilla - Developer guides
starting in
firefox 3, mozilla also supports internet explorer's contenteditable attribute which allows any element to become editable or non-editable (the latter for when preventing change to fixed elements in an editable environment).
...
firefox 3 and contenteditable original document information author(s): doron rosenberg, netscape communications published: 04 apr 2003 revised: 01 jul 2003 revised: 24 apr 2005, joel coreson revised: 28 nov 2006, ken kuhns, computronicsusa revised: 19 dec 2007, mark finkle ...
Mobile Web Development - Developer guides
test mobile safari on the iphone using the ios simulator test opera and
firefox using the android sdk.
... see these additional instructions for running
firefox for android using the android emulator.
Writing forward-compatible websites - Developer guides
for example, if you have tested that your default code path runs properly in
firefox aurora but
firefox beta and the latest release have a bug that make your default code path fail, it is ok to treat the
firefox version number that is in aurora at the moment of testing as "current", and consider the beta version as a "past" version even though it hasn't been released to the general public yet.
... testing test with all major engines test your code at least in
firefox, chrome, safari, opera, and internet explorer.
<canvas>: The Graphics Canvas element - HTML: Hypertext Markup Language
stack overflow): browser maximum height maximum width maximum area chrome 32,767 pixels 32,767 pixels 268,435,456 pixels (i.e., 16,384 x 16,384)
firefox 32,767 pixels 32,767 pixels 472,907,776 pixels (i.e., 22,528 x 20,992) safari 32,767 pixels 32,767 pixels 268,435,456 pixels (i.e., 16,384 x 16,384) ie 8,192 pixels 8,192 pixels ?
... mdn hit regions and accessability canvas accessibility use cases canvas element accessibility issues html5 canvas accessibility in
firefox 13 – by steve faulkner best practices for interactive canvas elements specifications specification status comment html living standardthe definition of '<canvas>' in that specification.
<img>: The Image Embed element - HTML: Hypertext Markup Language
abbreviation file format mime type file extension(s) browser compatibility apng animated portable network graphics image/apng .apng chrome, edge,
firefox, opera, safari bmp bitmap file image/bmp .bmp chrome, edge,
firefox, internet explorer, opera, safari gif graphics interchange format image/gif .gif chrome, edge,
firefox, internet explorer, opera, safari ico microsoft icon image/x-icon .ico, .cur chrome, edge,
firefox, internet explorer, opera, safari jpeg joint photograp...
...hic expert group image image/jpeg .jpg, .jpeg, .jfif, .pjpeg, .pjp chrome, edge,
firefox, internet explorer, opera, safari png portable network graphics image/png .png chrome, edge,
firefox, internet explorer, opera, safari svg scalable vector graphics image/svg+xml .svg chrome, edge,
firefox, internet explorer, opera, safari tiff tagged image file format image/tiff .tif, .tiff none built-in; add-ons required webp web picture format image/webp .webp chrome, edge,
firefox, opera the abbreviation for each format links to a longer description of the format, its capabilities, and detailed browser compatibility information; including which versions introduced support and specific special features that m...
<input type="date"> - HTML: Hypertext Markup Language
among browsers with custom interfaces for selecting dates are chrome and opera, whose data control looks like so: the edge date control looks like: and the
firefox date control looks like this: value a domstring representing a date in yyyy-mm-dd format, or empty events change and input supported common attributes autocomplete, list, readonly, and step idl attributes list, value, valueasdate, valueasnumber.
...as an example, the date picker on
firefox for android looks like this: unsupporting browsers gracefully degrade to a text input, but this creates problems in consistency of user interface (the presented controls are different) and data handling.
<input type="file"> - HTML: Hypertext Markup Language
note: though originally implemented only for webkit-based browsers, webkitdirectory is also usable in microsoft edge as well as
firefox 50 and later.
... note: you can set as well as get the value of htmlinputelement.files in all modern browsers; this was most recently added to
firefox, in version 57 (see bug 1384030).
<input type="number"> - HTML: Hypertext Markup Language
the following screenshot is taken from
firefox for android: a simple number input in its most basic form, a number input can be implemented like this: <label for="ticketnum">number of tickets you would like to buy:</label> <input id="ticketnum" type="number" name="ticketnum" value="0"> a number input is considered valid when empty and when a single number is entered, but is otherwise invalid.
...it works in chrome and opera, for example, but not in
firefox.
<select>: The HTML Select element - HTML: Hypertext Markup Language
note: according to the html5 specification, the default value for size should be 1; however, in practice, this has been found to break some web sites, and no other browser currently does that, so mozilla has opted to continue to return 0 for the time being with
firefox.
... warning: the mechanism for selecting multiple non-contiguous items via the keyboard described below currently only seems to work in
firefox.
Reason: CORS request not HTTP - HTTP
local file security in
firefox 68 when a user opened a page using a file:/// uri in
firefox 67 and earlier, the origin of the page was defined as the directory from which the page was opened.
... in response to cve-2019-11730,
firefox 68 and later define the origin of a page opened using a file:/// uri as unique.
Content negotiation - HTTP
with utf-8 now being well-supported, being the preferred way of encoding characters, and to guarantee better privacy through less configuration-based entropy, browsers omit the accept-charset header: internet explorer 8, safari 5, opera 11,
firefox 10 and chrome 27 have abandoned this header.
... a product token is a name followed by a '/' and a version number, like
firefox/4.0.1.
Strict-Transport-Security - HTTP
information regarding the hsts preload list in chrome : https://www.chromium.org/hsts consultation of the
firefox hsts preload list : nsstspreloadlist.inc examples all present and future subdomains will be https for a max-age of 1 year.
...chromium, edge, &
firefox.
X-DNS-Prefetch-Control - HTTP
on
firefox, this can be done by setting the network.dns.disableprefetch preference to true.
...on
firefox, this can be changed by setting the network.dns.disableprefetchfromhttps preference to false.
The legacy Iterator protocol - JavaScript
the legacy iterator protocol was a spidermonkey-specific feature, which is removed in
firefox 58+.
... the deprecated
firefox-only iterator protocol
firefox, prior to version 26 implemented another iterator protocol that is similar to the standard es2015 iterator protocol.
TypeError: can't access dead object - JavaScript
the javascript exception "can't access dead object" occurs when
firefox disallows add-ons to keep strong references to dom objects after their parent document has been destroyed to improve in memory usage and to prevent memory leaks.
... to improve in memory usage and to prevent memory leaks,
firefox disallows add-ons to keep strong references to dom objects after their parent document has been destroyed.
RangeError: invalid date - JavaScript
message rangeerror: invalid date (edge) rangeerror: invalid date (
firefox) rangeerror: invalid time value (chrome) rangeerror: provided date is not in valid range (chrome) error type rangeerror what went wrong?
...however, depending on the implementation, non–conforming iso format strings, may also throw rangeerror: invalid date, like the following cases in
firefox: new date('foo-bar 2014'); new date('2014-25-23').toisostring(); new date('foo-bar 2014').tostring(); this, however, returns nan in
firefox: date.parse('foo-bar 2014'); // nan for more details, see the date.parse() documentation.
SyntaxError: Malformed formal parameter - JavaScript
message syntaxerror: expected {x} (edge) syntaxerror: malformed formal parameter (
firefox) error type syntaxerror what went wrong?
...and we use the word "malformed" because all
firefox engineers are huge fans of 19th-century gothic horror novels.
RangeError: precision is out of range - JavaScript
message rangeerror: the number of fractional digits is out of range (edge) rangeerror: the precision is out of range (edge) rangeerror: precision {0} out of range (
firefox) rangeerror: toexponential() argument must be between 0 and 20 (chrome) rangeerror: tofixed() digits argument must be between 0 and 20 (chrome) rangeerror: toprecision() argument must be between 1 and 21 (chrome) error type rangeerror what went wrong?
... method
firefox (spidermonkey) chrome, opera (v8) number.prototype.toexponential() 0 to 100 0 to 20 number.prototype.tofixed() -20 to 100 0 to 20 number.prototype.toprecision() 1 to 100 1 to 21 examples invalid cases 77.1234.toexponential(-1); // rangeerror 77.1234.toexponential(101); // rangeerror 2.34.tofixed(-100); // rangeerror 2.34.tofixed(1001); // rangeerror 1234.5.toprecision(-1); // rangee...
SyntaxError: "x" is a reserved identifier - JavaScript
message syntaxerror: the use of a future reserved word for an identifier is invalid (edge) syntaxerror: "x" is a reserved identifier (
firefox) syntaxerror: unexpected reserved word (chrome) error type syntaxerror what went wrong?
...
firefox 44 and older) ...
RangeError: repeat count must be less than infinity - JavaScript
message rangeerror: argument out of range (edge) rangeerror: repeat count must be less than infinity and not overflow maximum string size (
firefox) rangeerror: invalid count value (chrome) error type rangeerror what went wrong?
...in
firefox (spidermonkey) the maximum string size is 228 -1 (0xfffffff).
TypeError: cannot use 'in' operator to search for 'x' in 'y' - JavaScript
message typeerror: invalid operand to 'in' (edge) typeerror: right-hand side of 'in' should be an object, got 'x' (
firefox) typeerror: cannot use 'in' operator to search for 'x' in 'y' (
firefox, chrome) error type typeerror what went wrong?
... var foo = null; "bar" in foo; // typeerror: cannot use 'in' operator to search for 'bar' in 'foo' (chrome) // typeerror: right-hand side of 'in' should be an object, got null (
firefox) the in operator always expects an object.
Function.name - JavaScript
above class definition in es2015 syntax will behave in chrome or
firefox similar to the following snippet in es5 syntax: function foo() {} object.defineproperty(foo, 'name', { writable: true }); foo.name = function() {}; trying to obtain the class of fooinstance via fooinstance.constructor.name won't give us the class name at all but a reference to the static class method.
... example: let fooinstance = new foo(); console.log(fooinstance.constructor.name); // logs function name() you may also see from the es5 syntax example that in chrome or
firefox our static definition of foo.name becomes writable.
RegExp.prototype.sticky - JavaScript
examples using a regular expression with the sticky flag var str = '#foo#'; var regex = /foo/y; regex.lastindex = 1; regex.test(str); // true regex.lastindex = 5; regex.test(str); // false (lastindex is taken into account with sticky flag) regex.lastindex; // 0 (reset after match failure) anchored sticky flag for several versions,
firefox's spidermonkey engine had a bug with regard to the ^ assertion and the sticky flag which allowed expressions starting with the ^ assertion and using the sticky flag to match when they shouldn't.
... the bug was introduced some time after
firefox 3.6 (which had the sticky flag but not the bug) and fixed in 2015.
Set - JavaScript
to the set myset.has(5) // true myset.has(math.sqrt(25)) // true myset.has('some text'.tolowercase()) // true myset.has(o) // true myset.size // 5 myset.delete(5) // removes 5 from the set myset.has(5) // false, 5 has been removed myset.size // 4, since we just removed one value console.log(myset) // logs set(4) [ 1, "some text", {…}, {…} ] in
firefox // logs set(4) { 1, "some text", {…}, {…} } in chrome iterating sets // iterate over items in set // logs the items in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} for (let item of myset) console.log(item) // logs the items in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} for (let item of myset.keys()) console.log(item) // logs the items in the order: 1, ...
...ray as myarray remove duplicate elements from the array // use to remove duplicate elements from the array const numbers = [2,3,4,4,2,3,3,4,4,5,5,6,6,7,5,32,3,4,5] console.log([...new set(numbers)]) // [2, 3, 4, 5, 6, 7, 32] relation with strings let text = 'india' let myset = new set(text) // set ['i', 'n', 'd', 'i', 'a'] myset.size // 5 //case sensitive & duplicate ommision new set("
firefox") // set(7) [ "f", "i", "r", "e", "f", "o", "x" ] new set("
firefox") // set(6) [ "f", "i", "r", "e", "o", "x" ] specifications specification ecmascript (ecma-262)the definition of 'set' in that specification.
String length - JavaScript
in
firefox, strings have a maximum length of 2**30 - 2 (~1gb).
... in versions prior to
firefox 65, the maximum length was 2**28 - 1 (~256mb).
WebAssembly.CompileError() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jscompileerror() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung ...
WebAssembly.Global() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsglobal() constructorchrome full support 69edge no support no
firefox full support 62ie no support ...
... noopera no support nosafari no support nowebview android full support 69chrome android full support 69
firefox android full support 62opera android no support nosafari ios no support nosamsung internet android full support 10.0nodejs no support nolegend full support full support no support...
WebAssembly.Instance() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsinstance() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung inte...
WebAssembly.Instance.prototype.exports - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsexportschrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.LinkError() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jslinkerror() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung int...
WebAssembly.Memory.prototype.buffer - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsbufferchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.Memory.prototype.grow() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsgrowchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.Module() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsmodule() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung intern...
WebAssembly.Module.customSections() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jscustomsectionschrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet and...
WebAssembly.Module.exports() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsexportschrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.Module.imports() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsimportschrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.RuntimeError() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsruntimeerror() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung ...
WebAssembly.Table() constructor - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jstable() constructorchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung interne...
WebAssembly.Table.prototype.get() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsgetchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.Table.prototype.grow() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsgrowchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.Table.prototype.length - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jslengthchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.Table.prototype.set() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jssetchrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.compile() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jscompilechrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
WebAssembly.compileStreaming() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jscompilestreamingchrome full support 61edge full support 16
firefox full support 58ie no support ...
... noopera full support 47safari no support nowebview android full support 61chrome android full support 61
firefox android full support 58opera android full support 45safari ios no support nosamsung internet android full support 8.0nodejs no support nolegend full support full support no suppor...
WebAssembly.instantiate() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsinstantiatechrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet androi...
WebAssembly.instantiateStreaming() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsinstantiatestreamingchrome full support 61edge full support 16
firefox full support 58ie no support ...
... noopera full support 47safari no support nowebview android full support 61chrome android full support 61
firefox android full support 58opera android full support 45safari ios no support nosamsung internet android full support 8.0nodejs no support nolegend full support full support no su...
WebAssembly.validate() - JavaScript
desktopmobileserverchromeedge
firefoxinternet exploreroperasafariandroid webviewchrome for android
firefox for androidopera for androidsafari on iossamsung internetnode.jsvalidatechrome full support 57edge full support 16
firefox full support 52notes full support ...
... 52notes notes disabled in the
firefox 52 extended support release (esr).ie no support noopera full support 44safari full support 11webview android full support 57chrome android full support 57
firefox android full support 52notes full support 52notes notes disabled in the
firefox 52 extended support release (esr).opera android full support 43safari ios full support 11samsung internet android ...
function declaration - JavaScript
typeof foo is undefined // // in
firefox: // 'foo' name is hoisted.
...typeof foo is undefined // // in
firefox: // 'foo' name is hoisted.
Values - MathML
eryverythickmathspace => 0.3888888888888889em constant value veryverythinmathspace 1/18em verythinmathspace 2/18em thinmathspace 3/18em mediummathspace 4/18em thickmathspace 5/18em verythickmathspace 6/18em veryverythickmathspace 7/18em negative contstants are introduced in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) (bug 650530) negativeveryverythinmathspace -1/18em negativeverythinmathspace -2/18em negativethinmathspace -3/18em negativemediummathspace -4/18em negativethickmathspace -5/18em negativeverythickmathspace -6/18em negativeveryverythickmathspace -7/18em note: namedsp...
...ace binding is deprecated in mathml3 and has been removed in gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) (bug 673759).
<mtable> - MathML
starting with gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) the interpretation of negative values has been corrected (bug 601436).
... in gecko 17.0 (
firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) the parsing has been updated to treat whitespace correctly.
Example - SVG: Scalable Vector Graphics
this example should work in
firefox 1.5 and above.
... </p> <p> this is done completely in w3c standards–xhtml, svg and javascript–no flash or any vendor specific extensions. currently, this will work in mozilla
firefox version 1.5 and above.
Namespaces crash course - SVG: Scalable Vector Graphics
versions of svg viewers prior to the release of
firefox 1.5 unfortunately paid scant attention to namespaces, but they are essential to multi-xml dialect supporting user agents such as gecko-based browsers which must be very strict.
...if you don't, user agents such as
firefox won't recognize your content and will simply show the xml markup or inform the user that there's an error in the xml.
SVG 2 support in Mozilla - SVG: Scalable Vector Graphics
atus unknown role mapping of <a> element depending on whether it is a valid link implementation status unknown aria state and property attributes animatable implementation status unknown styling change notes contentstyletype attribute removed implementation status unknown linkstyle on svgstyleelement implemented (bug 1239128 (
firefox 46.0 / thunderbird 46.0 / seamonkey 2.43)) inner <svg>s and <foreignobjects>s not overflow: hidden; in ua style sheet implementation status unknown overflow: hidden; on <hatch> in ua style sheet implementation status unknown 0 0 as default value of transform-origin except root <svg> and <svg> children of <foreign> implementation status unknown use of w...
...vas> implementation status unknown <source> implementation status unknown <track> implementation status unknown painting change notes paint-order implemented (bug 828805) will-change instead of buffered-rendering implementation status unknown context-fill and context-stroke paint values implemented (bug 719286 (
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15) and bug 798843 (
firefox 26.0 / thunderbird 26.0 / seamonkey 2.23)) child keyword for <paint> values and marker properties implementation status unknown vector-effect property only none and non-scaling-stroke values are supported (bug 528332 (
firefox 15 / thunderbird 15 / seamonkey 2.12), bug 1318208) arcs value for stroke-...
Same-origin policy - Web security
restrictions vary by browser: internet explorer,
firefox, chrome, safari (scroll down to cve-2010-0051) and opera.
...
firefox and chrome use the public suffix list to determine if a domain is a public suffix.
How to turn off form autocompletion - Web security
this is the behavior in
firefox (since version 38), google chrome (since 34), and internet explorer (since version 11).
...for example,
firefox version 67 (see bug 1119063) stopped autofilling in this case; however,
firefox 70 (see bug 1565407) can suggest securely-generated passwords, but does not autofill a saved password.
Transport Layer Security - Web security
from version 74 onwards,
firefox will return a secure connection failed error when connecting to servers using the older tls versions (bug 1606734).
...to mitigate this problem, modern browsers have implemented handshake timeouts: since version 58,
firefox implements a tls handshake timeout with a default value of 30 seconds.
Using templates and slots - Web Components
so for example: <template id="my-paragraph"> <style> p { color: white; background-color: #666; padding: 5px; } </style> <p>my paragraph</p> </template> now we can use it by just adding it to our html document: <my-paragraph></my-paragraph> note: templates are well-supported in browsers; the shadow dom api is supported by default in
firefox (version 63 onwards), chrome, opera, safari, and edge (starting with version 79).
...this has more limited support than <template>, available since chrome 53, opera 40, safari 10,
firefox 59, and edge 79.
XPath
note: support for xpath varies widely; it's supported reasonably well in
firefox (although there are no plans to improve support further), while other browsers implement it to a lesser extent, if at all.
... tools chropath xpath panel that integrates tightly into firebug, providing an editor and inspector (
firefox add-on).
XSLT: Extensible Stylesheet Language Transformations
specifying parameters using processing instructions
firefox allows stylesheet parameters to be specified when using the <?xml-stylesheet?> processing instruction.
... common xslt errors this article lists some common problems using xslt in
firefox.
Post data to window - Archive of obsolete content
posting data to the current tab there is a convenience method in global scope (in
firefox, chrome://browser/content/browser.js): loaduri(auri, areferrer, apostdata, aallowthirdpartyfixup); posting data to a new window window.opendialog('chrome://browser/content', '_blank', 'all,dialog=no', auri, aflags, areferrer, apostdata); ...
QuerySelector - Archive of obsolete content
// if you'd like to convert it to a array for convenience, use this instead: // return array.prototype.slice.call(el.queryselectorall(selector)); } alert($('#myid').id); (note that while using the
firefox web console, the above functions are available automatically.) both xul and even xml can be easily made supportable (an alternative approach to the following would be to add chromewindow.prototype or window.prototype, accessing this.document.queryselector, or following the jquery style of chaining by returning 'this' within each prototype method of $()): htmldocument.prototype.$ = function (selec...
Toolbar - Archive of obsolete content
= elem.nextelementsibling; } toolbar.insertitem(id, before); toolbar.setattribute("currentset", toolbar.currentset); document.persist(toolbar.id, "currentset"); if (toolbarid == "addon-bar") toolbar.collapsed = false; } } if (firstrun) { installbutton("nav-bar", "my-extension-navbar-button"); // the "addon-bar" is available since
firefox 4 installbutton("addon-bar", "my-extension-addon-bar-button"); } ...
Interaction between privileged and non-privileged pages - Archive of obsolete content
<button onclick="return something.send_request({foo: 1}, something.callback)">send {foo: 1} with callback</button> <button onclick="return something.send_request({baz: 3}, something.callback)">send {baz: 3} with callback</button> <button onclick="return something.send_request({mozilla: 3})">send {mozilla: 3} without callback</button> <button onclick="return something.send_request({
firefox: 4}, something.callback)">send {
firefox: 4} with callback</button> </body> </html> overlay on browser.xul in your extension: var something = { listen_request: function(callback) { // analogue of chrome.extension.onrequest.addlistener document.addeventlistener("something-query", function(event) { var node = event.target; if (!node || node.nodetype != node.text_node) ...
Legacy Add-ons - Archive of obsolete content
this section contains links to documentation for legacy technology for add-on development, including: add-on sdk legacy extensions for
firefox for android earlier technology bootstrapped extensions overlay extensions ...
Installer - Archive of obsolete content
one interesting side effect is that after this change, you can select a link to a .webapp file in a web page and you get it run by prism - in ie this runs anywhere, but this won't work in
firefox unless the webapp is being issued with an appropriate mime type on the server: application/x-webapp works (see an example ).
New Skin Notes - Archive of obsolete content
--dria the menu column seems larger than before in the current test theme, so as to cause some reference pages to look ugly when browser set in 800x* resolution, using the default
firefox 1.0.6 fonts settings on xfree86.
PyDOM - Archive of obsolete content
related topics pyxpcom: create and use xpcom components with python python-spidermonkey pydom samples: sample applications that use pydom pythonext: a
firefox/xulrunner extension that can be used to install pydom ...
Reading textual data - Archive of obsolete content
getservice(components.interfaces.nsiutf8converterservice); var data = utf8converter.converturispectoutf8 (str, "utf-8"); gecko 1.8 and newer reading strings starting with gecko 1.8 (seamonkey 1.0,
firefox 1.5), you can use nsiconverterinputstream to read strings from a stream (nsiinputstream).
Mozilla Web Developer Community - Archive of obsolete content
- mozilla.dev.tech.css dom - mozilla.dev.tech.dom html - mozilla.dev.tech.html plugins - mozilla.dev.tech.plugins xml - mozilla.dev.tech.xml documentation - see mdc:community more at http://www.mozilla.org/community/dev...er-forums.html mozillazine forums mozilla news and development help mozilla (testing and development) mozdev.org mozillazine planet mozilla spread
firefox standards communities get involved in grass-roots web standards evangelism efforts through these groups: the web standards project, a grassroots coalition fighting for standards maccaws, making a commercial case for web standards a list apart, for people who make websites mozilla technology evangelism, get involved with mozilla evangelism you may also find helpful information on the w3c ma...
XBL 1.0 Reference - Archive of obsolete content
om changes event flow and targeting flow and targeting across scopes focus and blur events mouseover and mouseout events anonymous content and css selectors and scopes binding stylesheets binding implementations introduction methods properties inheritance of implementations event handlers example - sticky notes updated and adjusted for the current
firefox implementation.
XML in Mozilla - Archive of obsolete content
see also e4x xquery code snippets for queryselector - useful techniques for navigating dom using css selectors on xml dom documents (
firefox 3.5 only) identifying xml elements and documents parsing and serializing xml ...
confirm - Archive of obsolete content
firefox on linux mozilla application suite on win32 it is therefore recommended to only use two buttons wherever possible, and to keep in mind that button 1 has the same return value as "window closed" (see below).
titlebar - Archive of obsolete content
tafter, insertbefore, left, maxheight, maxwidth, menu, minheight, minwidth, mousethrough, observes, ordinal, orient, pack, persist, popup, position, preference-editable, querytype, ref, removeelement, sortdirection, sortresource, sortresource2, statustext, style, template, tooltip, tooltiptext, top, uri, wait-cursor, width note: the allowevents attribute did not work for title bars prior to
firefox 3.
toolbargrippy - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] not in
firefox the notch on the side of a toolbar which can be used to collapse and expand it.
toolbarset - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ]
firefox only this element is used as a container for custom toolbars, which are added in the custom toolbar dialog.
window - Archive of obsolete content
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"> <!-- icon from chrome --> <html:link rel="icon" href="chrome://myextension/content/path/to/favicon.png"/> <!-- from a remote site --> <html:link rel="icon" href="http://www.mozilla.org/favicon.ico"/> since
firefox 3.6 the above listed code does not work correctly - it produces the following message: "warning: xul box for box element contained an inline link child, forcing all its children to be wrapped in a block".
HTML forms in legacy browsers - Learn web development
for example, the input of color type looks different in safari, chrome and
firefox browser, but the color picker widget is the same in all browsers on a device as it opens up the operating system's native color picker.
Other form controls - Learn web development
the following screenshots show default, focused, and disabled <textarea> elements in
firefox 71 and safari 13 on macos, and edge 18, yandex 14,
firefox 71 and chrome 79 on windows 10.
Sending form data - Learn web development
viewing http requests http requests are never displayed to the user (if you want to see them, you need to use tools such as the
firefox network monitor or the chrome developer tools).
UI pseudo-classes - Learn web development
we've styled the form controls using the :read-only and :read-write pseudo-classes, like so: input:-moz-read-only, textarea:-moz-read-only, input:read-only, textarea:read-only { border: 0; box-shadow: none; background-color: white; } textarea:-moz-read-write, textarea:read-write { box-shadow: inset 1px 1px 3px #ccc; border-radius: 5px; }
firefox only supported these pseudo-classes with a prefix up to version 78; at which point it started to support the unprefixed version.
Example - Learn web development
t field border */ border: 1px solid #999; } input:focus, textarea:focus { /* to give a little highligh on active elements */ border-color: #000; } textarea { /* to properly align multiline text field with their label */ vertical-align: top; /* to give enough room to type some text */ height: 5em; /* to allow users to resize any textarea vertically it works only on chrome,
firefox and safari */ resize: vertical; } .button { /* to position the buttons to the same position of the text fields */ padding-left: 90px; /* same size as the label elements */ } button { /* this extra magin represent the same space as the space between the labels and their text fields */ margin-left: .5em; } result ...
How the Web works - Learn web development
a simplified diagram of how they interact might look like this: clients are the typical web user's internet-connected devices (for example, your computer connected to your wi-fi, or your phone connected to your mobile network) and web-accessing software available on those devices (usually a web browser like
firefox or chrome).
Debugging HTML - Learn web development
in the dom inspector, you can see what the rendered markup looks like: using the dom inspector, let's explore our code in detail to see how the browser has tried to fix our html errors (we did the review in
firefox; other modern browsers should give the same result): the paragraphs and list items have been given closing tags.
Browser chrome tests
it currently allows you to run javascript code in the same scope as the main
firefox browser window and report results using the same functions as the mochitest test framework.
Bugzilla
bugzilla.mozilla.org (often abbreviated b.m.o) is mozilla.org's bug-tracking system, a database for recording bugs and enhancement requests for
firefox, thunderbird, seamonkey, camino, and other mozilla.org projects.
Building Mozilla
in this article, we list documents that will guide you in building
firefox or other projects based upon mozilla code.
Debugging Frame Reflow
on mac this is accomplished with: $ env dyld_library_path="`pwd`/obj-ff-dbg/dist/nightlydebug.app/contents/macos" \ ./obj-ff-dbg/dist/nightlydebug.app/contents/macos/
firefox-bin > logfile.txt after loading your testcase, the log file will contain the promised information.
Makefile - targets
compile
firefox, thunderbird, etc check standalone shell unit test invoked directly by make configure launch the configure program to define headers and and attributes for the target build machine.
How Mozilla's build system works
this is where we take all the code in the tree and produce the
firefox binary program file or the application you are creating.
Linux Prerequisites
doc moved in-tree https://
firefox-source-docs.mozilla.org/setup/linux_build.html ...
Old Thunderbird build
build configuration to build thunderbird, you need to add a file named mozconfig to the root directory of the comm-central checkout that contains the following line: ac_add_options --enable-application=mail you can create a file with this line by doing this: cd comm-central echo 'ac_add_options --enable-application=mail' > mozconfig if you omit this line, the build system will build
firefox instead.
Linux build preparation
documentation moved in-tree: https://
firefox-source-docs.mozilla.org/setup/linux_build.html ...
Simple Instantbird build
building instantbird what you need to do to build instantbird rather than
firefox is: echo 'ac_add_options --enable-application=im' >> .mozconfig to start the build, cd into the comm-central subdirectory (created automatically by the hg clone command), and run: ./mozilla/mach build mach is our command-line tool to streamline common developer tasks.
Simple Thunderbird build
ation to build thunderbird, you need to add a file named mozconfig to the root directory of the mozilla-central checkout that contains the following line: ac_add_options --enable-application=comm/mail you can create a file with this line by doing this in the source/ directory: echo 'ac_add_options --enable-application=comm/mail' > mozconfig if you omit this line, the build system will build
firefox instead.
Updating NSPR or NSS in mozilla-central
moz_arg_with_bool(system-nss, [ --with-system-nss use system installed nss], _use_system_nss=1 ) if test -n "$_use_system_nss"; then am_path_nss(3.16.1, [moz_native_nss=1], [ac_msg_error([you don't have nss installed or your version is too old])]) fi commit the update: $ hg commit -a in order to eliminate any problems related to how nss and nspr are built differently in
firefox than they are standalone, you should push your commit to try first.
Windows SDK versions
windows 8 sdk (official) features that depend on this sdk include: metro
firefox front end gamepad api support you can download the sdk from the microsoft download center [web setup].
ESLint
prior to
firefox 55 the location for the eslint binary used to be tools/lint/eslint/node_modules/.bin, since bug 1305023, node_modules is now located in the top-level directory, and should need no special set-up.
How test harnesses work
mozilla test harnesses are typically composed of a python runner that invokes
firefox, utilizes the browser to run tests, and reports the results.
IPDL Tutorial
all messages for multi-process plugins and tabs in
firefox are declared in the ipdl language.
Addon
getdatadirectory() requires gecko 32.0(
firefox 32.0 / thunderbird 32.0 / seamonkey 2.29) returns the path of the preferred directory, within the current profile, where an add-on should store data files.
Add-on Manager
detecting add-on changes requires gecko 7.0(
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) you can also get lists of add-ons that, at startup, were changed in various ways.
Widget Wrappers
areatype the type of the widget's current area isgroup true, will be false for wrappers around single widget nodes source for api-provided widgets, whether they are built-in to
firefox or add-on-provided disabled for api-provided widgets, whether the widget is currently disabled.
DownloadLastDir.jsm
to set the path, use setfile: // file is an nsifile downloadlastdir.setfile(uri, file); to retrieve the path in
firefox 26 or later, use getfileasync: downloadlastdir.getfileasync(uri, function (file) { // file is an nsifile console.log(file); }); deprecated since gecko 26.0 to retrieve the path in
firefox 25 or earlier, use getfile: // file is an nsifile var file = gdownloadlastdir.getfile(uri); console.log(file); private browsing mode when browsing normally, the browser uses the browser.download.lastdi...
Geometry.jsm
note: although this module is usable from mobile, and is present in
firefox 4, it's currently not used in
firefox 4 and attempting to use it may produce unreliable results there.
OSFile.jsm
os.file is designed for efficient, unrestricted, manipulation of files by
firefox itself and by add-ons.
Deferred
backwards and forwards compatible helper this deferred function can be used for backwards and forwards compatibility, due to a change that took place in
firefox 30.
Localization and Plurals
for example, your extension localized for english with plural rule #1, which expects 2 plural forms, is installed on a localized version of
firefox with plural rule #4, which expects 3 forms: /** * create a pair of plural form functions for the given plural rule number.
browser.dom.window.dump.file
type:string default value:none exists by default: no application support: gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) status: active; last updated 2012-03-18 introduction: pushed to nightly on 2009-04-24 bugs: bug 489938 values the value holds the file system path for the file in which the content of the window.dump() calls get written, e.g.
browser.download.lastDir.savePerSite
type:boolean default value:true exists by default: no application support:
firefox 11.0 status: active; last updated 2012-02-15 introduction: pushed to nightly on 2011-12-11 bugs: bug 702748 values true (default) the last used directory for the website (host) serving the file for download will be preselected in the file picker.
browser.pagethumbnails.capturing_disabled
type:boolean default value:true exists by default: no application support:
firefox 14.0 status: active; last updated 2012-09-17 introduction: pushed to nightly on 2012-04-13 bugs: bug 726347 values false the application creates screenshots of visited web pages.
browser.search.context.loadInBackground
type:boolean default value:false exists by default: yes application support:
firefox 13.0 status: active; last updated 2012-02-17 introduction: pushed to nightly on 2012-02-15 bugs: bug 727131 values true new tab with search results will be opened in the background, focus stays on the current tab.
browser.urlbar.formatting.enabled
type:boolean default value: true exists by default: yes application support:
firefox 6.0 status: active; last updated 2012-04-03 introduction: pushed to nightly on 2011-05-03 bugs: bug 451833 values true (default) the domain name including the top level domain is highlighted in the address bar by coloring it black and the other parts grey.
browser.urlbar.trimURLs
type:boolean default value: true exists by default: yes application support:
firefox 7.0 status: active; last updated 2012-04-03 introduction: pushed to nightly on 2011-06-23 bugs: bug 665580 values true (default) if the active url is exactly the domain name, the trailing slash (/) behind the top level domain will be hidden.
dom.event.clipboardevents.enabled
type:boolean default value:true exists by default: no application support: gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) status: active; last updated 2012-02-15 introduction: pushed to nightly on 2012-02-14 bugs: bug 542938 values true (default) the oncopy, oncut and onpaste events are enabled for web content.
ui.SpellCheckerUnderline
type:string default value:#ff0000 exists by default: no application support: gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) status: active; last updated 2012-02-21 introduction: pushed to nightly on 2009-04-03 bugs: bug 338209 values a color code like #ff0000 for red.
ui.SpellCheckerUnderlineStyle
type:integer default value:5 exists by default: no application support: gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) status: active; last updated 2012-02-22 introduction: pushed to nightly on 2009-04-03 bugs: bug 338209 values the values are defined in nsstyleconsts.h.
ui.alertNotificationOrigin
type:integer default value:dependent on position of taskbar or equivalent exists by default: no application support: gecko 1.8.1.2 (
firefox 2.0.0.2 / thunderbird 2.0.0.4 / seamonkey 1.1) status: active; last updated 2012-02-22 introduction: pushed to nightly on 2007-01-04 bugs: bug 133527 values 0 bottom right corner, vertical slide-in from the bottom 1 bottom right corner, horizontal slide-in from the right 2 bottom left corner, vertical slide-in from the bottom 3 bottom left corner, horizontal slide-in from the left 4 top right corner, vertical slide-in from the top 5 top right corner, horizontal slide-in from the right 6 t...
ui.tooltipDelay
type:integer default value:500 exists by default: no application support: gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8) status: active; last updated 2012-02-21 introduction: pushed to nightly on 2011-12-15 bugs: bug 204786 values integer (milliseconds, default: 500) the time for delay between the mouse stopping over the element and the tooltip appearing is stored in milliseconds and the default value is 500ms.
view_source.syntax_highlight
type:boolean default value: true exists by default: yes application support:
firefox 1.0 status: active introduction: bugs: bug 52154 values true (default) syntax hightlighting is enabled.
Preferences system
example: var features = "chrome,titlebar,toolbar,centerscreen,modal"; window.opendialog(url, "preferences", features); bugzilla the component for bugs in the preferences bindings (but not in
firefox/thunderbird options ui) is toolkit:preferences (file a bug list open bugs) ...
Preferences
using preferences from application code
firefox 6 introduced static functions for accessing preferences efficiently from within application code.
Debugging out-of-memory problems
firefox android on
firefox android, an about:memory dump may be triggered from a connect desktop machine with the command: adb shell am broadcast -a org.mozilla.gecko.memory_dump the location of the dump file will be printed to the android log (viewed with adb logcat | grep geckoconsole) and can be retrieved via adb pull.
L20n HTML Bindings
<script type="application/l20n"> <brandname "
firefox"> <about "about {{ brandname }}"> </script> an alternative is to include localization resources in script elements.
L20n
what l20n looks like here is a simple, straightforward example showing an english string being provided: <brandname "
firefox"> <about "about {{ brandname }}"> here is the same string being provided in slovenian: <brandname { nominative: "
firefox", genitive: "
firefoxa", dative: "
firefoxu", accusative: "
firefox", locative: "
firefoxu", instrumental: "
firefoxom" }> <about "o {{ brandname.locative }}"> for developers documentation for developers wanting to implement localization functionality on their ...
Leak And Bloat Tests
method current method: measure leaks and bloats, in a similar way to
firefox (using xpcom_mem_leak_log and --trace-malloc).
Midas
internet explorer also supports the ability to edit specific elements using the contenteditable attribute; starting with
firefox 3, gecko also supports contenteditable.
Programs Using NSPR
the following programs are known to use nspr, or portions of it: gecko using programs (mozilla application suite,
firefox, thunderbird, camino, etc.) many fedora/red hat and sun server applications.
An overview of NSS Internals
you might have been motivated to work with nss because it is used by the mozilla applications such as
firefox, thunderbird, etc.
Building NSS
windows nss compilation on windows uses the same shared build system as mozilla
firefox.
NSS FAQ
it provides a complete open-source implementation of the crypto libraries used by mozilla and other companies in the
firefox browser, aol instant messenger (aim), server products from red hat, and other products.
Getting Started With NSS
would you like to get involved and help us to improve the core security of mozilla
firefox and other applications that make use of nss?
NSS 3.12.4 release notes
bug 470500:
firefox 3.1b2 crash report [[@ nssutil3.dll@0x34c0 ] bug 482742: enable building util independently of the rest of nss bug 483653: unable to build certutil.exe for fennec/wince bug 485145: miscellaneous crashes in signtool on windows bug 485155: nss_enable_pkix_verify=1 causes sec_error_unknown_issuer errors bug 485527: rename the _x86_ macro in lib/freebl bug 485658: vfychain -p reports revoked cert bug...
NSS 3.12.5 release_notes
bug 510435: remove unused make variable dso_ldflags bug 510436: add macros for build numbers (4th component of version number) to nssutil.h bug 511227:
firefox 3.0.13 fails to compile on freebsd/powerpc bug 511312: nss fails to load softoken, looking for sqlite3.dll bug 511781: add new tls 1.2 cipher suites implemented in windows 7 to ssltap bug 516101: if pk11_importcert fails, it leaves the certificate undiscoverable by cert_pkixverifycert bug 518443: pk11_importandreturnprivatekey leaks an arena bug 518446: pk11_derencodepublickey leaks a certsu...
NSS 3.12.9 release notes
bug 609068: implement j-pake in 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.18.1 release notes
but when
firefox 38 went into beta, there was a huge spike in the number of certificate verification errors attributed to this change.
NSS 3.42 release notes
bug 1513913 - a fix for solaris where
firefox 60 core dumps during start when using profile from version 52 this bugzilla query returns all the bugs fixed in nss 3.42: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.42 compatibility nss 3.42 shared libraries are backward compatible with all older nss 3.x shared libraries.
Release notes for recent versions of NSS
(nss 3.56 release notes) the current esr releases of nss are 3.44.4 (nss 3.44.4 release notes), intended for
firefox esr 68, which was released on 19 may 2020, and 3.53.1 (nss 3.53.1 release notes), intended for
firefox esr 78, which was released on 16 june 2020.
Overview of NSS
nss provides a complete open-source implementation of the crypto libraries used by aol, red hat, google, and other companies in a variety of products, including the following: mozilla products, including
firefox, thunderbird, seamonkey, and
firefox os.
FC_Initialize
nss_nodb_init(""), which initializes nss with no databases: "configdir='' certprefix='' keyprefix='' secmod='' flags=readonly,nocertdb,nomod db,forceopen,optimizespace " mozilla
firefox initializes nss with this string (on windows): "configdir='c:\\documents and settings\\wtc\\application data\\mozilla\\
firefox\\profiles\\default.7tt' certprefix='' keyprefix='' secmod='secmod.db' flags=optimizespace manufacturerid='mozilla.org' librarydescription='psm internal crypto services' cryptotokendescription='generic crypto services' dbtokendescription='software security device' crypto...
NSS tools : certutil
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: * https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: * https://wiki.mozilla.org/nss_shared_db see also pk12util (1) modutil (1) certutil has arguments or operations that use features defined in several ietf...
NSS tools : modutil
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: o https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: o https://wiki.mozilla.org/nss_shared_db see also certutil (1) pk12util (1) signtool (1) the nss wiki has information on the new database design and how to configure applications to use it.
NSS tools : pk12util
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: o https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: o https://wiki.mozilla.org/nss_shared_db see also certutil (1) modutil (1) the nss wiki has information on the new database design and how to configure applications to use it.
certutil
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: o https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: o https://wiki.mozilla.org/nss_shared_db see also pk12util (1) modutil (1) certutil has arguments or operations that use features defined in several ietf rfcs.
NSS tools : modutil
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: o https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: o https://wiki.mozilla.org/nss_shared_db see also certutil (1) pk12util (1) signtool (1) the nss wiki has information on the new database design and how to configure...
NSS tools : pk12util
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: o https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: o https://wiki.mozilla.org/nss_shared_db see also certutil (1) modutil (1) the nss wiki has information on the new database design and how to configure applications to u...
NSS tools : signver
for example, this how-to article covers how to configure
firefox and thunderbird to use the new shared nss databases: o https://wiki.mozilla.org/nss_shared_db_howto for an engineering draft on the changes in the shared nss databases, see the nss project wiki: o https://wiki.mozilla.org/nss_shared_db see also signtool (1) the nss wiki has information on the new database design and how to configure applications to use it.
Proxies in Necko
proxies and local hosts requires gecko 9.0(
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) starting with gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), proxy servers are not used when accessing hosts with no dots in their names, if manual proxy configuration is used and "<local>" is added to the "no proxy for:" text field field.
Necko
this api is used in many mozilla-based client applications (including
firefox) and can be used for writing other networking clients.
SpiderMonkey Build Documentation
building spidermonkey obsolete: the canonical documentation now lives at: https://
firefox-source-docs.mozilla.org/js/build.html.
GCIntegration - SpiderMonkey Redirect 1
to understand the problem more, let's consider some reasons why barriers are not needed in common areas of
firefox: if a pointer is never changed after it's initialized, then there's no need for a write barrier.
Statistics API
when logging to a file is used in combination with multi-process
firefox (e10s) it is necessary to set security.sandbox.content.level = 0, otherwise the content process will crash.
JIT Optimization Strategies
note: this page is an in-progress documentation of jit optimization strategies planned to support the "jit coach" feature intended for inclusion in
firefox developer tools.
JS::PersistentRooted
in the context of
firefox, this is a severe restriction: almost everything in
firefox is owned by some js object or another, so using persistentrooted in such objects would introduce leaks.
JSNative
this has limited use cases; it's used to implement
firefox's "slow script" dialog, for example.) when a jsnative is called, no jsstackframe is generated.
JS_GetStringBytes
note: js_getstringbytes() and js_getstringbytesz() have both been removed as of javascript 1.8.5 (
firefox 4).
JS_NewObject
starting with gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5), you can create a new object in a specific compartment using the components.utils.createobjectin() method.
jsdouble
since
firefox/gecko 13 jsdouble has been removed, and instead it is possible to use the default c/c++ type double.
Parser API
example: > var expr = reflect.parse("obj.foo + 42").body[0].expression > expr.left.property ({loc:null, type:"identifier", name:"foo"}) > expr.right ({loc:{source:null, start:{line:1, column:10}, end:{line:1, column:12}}, type:"literal", value:42}) it is also available since
firefox 7; it can be imported into the global object via: components.utils.import("resource://gre/modules/reflect.jsm") or into a specified object via: components.utils.import("resource://gre/modules/reflect.jsm", obj) built-in objects whether in spidermonkey shell or
firefox (after importing), the global singleton object reflect currently contains just the parse method.
Profiling SpiderMonkey
instructions 1.) get yourself an optimized libxul build of
firefox, with debugger info.
SpiderMonkey 1.8
spidermonkey 1.8 is the javascript engine that shipped in
firefox 3.0.
SpiderMonkey 52
spidermonkey 52 is the javascript engine that shipped in
firefox 52.
SpiderMonkey releases
the easiest way to fetch the version corresponding to the current
firefox release is to visit the treeherder page for the release repository and click on the first sm(pkg) link you see.
Shell global objects
testing functions testing functions are available also on
firefox via components.utils.getjstestingfunctions() functions always available gc([obj] | 'zone' [, 'shrinking']) run the garbage collector.
TPS Bookmark Lists
for example: var bookmarks_after_second_modify = { "menu": [ { uri: "http://www.get
firefox.com/", title: "get
firefox" } ], "menu/foldera": [ { uri: "http://mozilla.com", title: "mozilla" }, ] }; this describes two bookmarks, one in the "menu" folder, and the other in the "folder1" subfolder of "menu".
TPS Pref Lists
for example: var prefs1 = [ { name: "browser.startup.homepage", value: "http://www.get
firefox.com" }, { name: "browser.urlbar.maxrichresults", value: 20 }, { name: "browser.tabs.autohide", value: true } ]; pref lists and phase actions the only actions supported for preference asset lists are modify and verify: prefs.modify prefs.verify sync only syncs certain preferences.
compare-locales
compare-locales is a python script that helps localizers to check their work without running
firefox or another application.
Supported build targets
page moved to the in-tree documentation: https://
firefox-source-docs.mozilla.org/build/buildsystem/supported-configurations.html ...
Task graph
the outputs from each task, log files,
firefox installers, and so on, appear attached to each task when it completes.
Implementation Details
under msaa/ia2, watch for event_hide under atk/at-spi, watch for children-changed:remove to help developers in that regard, there is memory leak monitor, a
firefox extension.
AT Development
guidelines at apis implementation by gecko at vendors guide to support gecko-based applications like
firefox, thunderbird and so on.
XUL Accessibility
<label value="it's label for control" control="control" /> <hbox role="grouping" id="control" /> get tooltiptext attribute if the element is anonymous child of the element that is the direct child of toolbaritem element or the element is direct child of toolbaritem element then title attribute of toolbaritem element is used (currently it's used in
firefox ui only) if the element has aria role and the role allows to aggregate name from subtree of element then generate name from subtree of the element description the following rules to generate accessible description are applied: check aria-describedby attribute, description is generated from elements pointed by aria-describedby attribute <description id="descr1">label1</description> <descripti...
Feed content access API
firefox 2 and thunderbird 2 introduce a series of interfaces that make it easy for extension authors to access rss and atom feeds.
The Places database
places is designed to be a complete replacement for the
firefox bookmarks and history systems using storage.
IAccessibleEditableText
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (
firefox 3) this interface is typically used in conjunction with the iaccessibletext interface and complements that interface with the additional capability of clipboard operations.
IAccessibleHyperlink
1.0 66 introduced gecko 1.9 inherits from: iaccessibleaction last changed in gecko 1.9 (
firefox 3) this interface represents a hyperlink associated with a single substring of text or single non-text object.
IAccessibleHypertext
1.0 66 introduced gecko 1.9 inherits from: iaccessibletext last changed in gecko 1.9 (
firefox 3) the iaccessiblehypertext interface is the main interface to expose hyperlinks in a document, typically a text document, that are used to reference other documents.
IAccessibleImage
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (
firefox 3) this interface is used for a representation of images like icons on buttons.
IAccessibleRelation
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (
firefox 3) method overview [propget] hresult localizedrelationtype([out] bstr localizedrelationtype ); [propget] hresult ntargets([out] long ntargets ); [propget] hresult relationtype([out] bstr relationtype ); [propget] hresult target([in] long targetindex, [out] iunknown target ); [propget] hresult targets([in] long maxtargets, [out, size_is(maxtargets), length_is( ntargets)] iunknown targets, [out] long ntargets ); methods localizedrelationtype() returns a localized version of the relation type.
IAccessibleTable
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (
firefox 3) typically all accessible objects that represent cells or cell-clusters of a table will be at the same time children of the table.
IAccessibleTable2
1.0 66 introduced gecko 1.9.2 inherits from: iunknown last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) please also refer to the iaccessibletablecell interface.
IAccessibleTableCell
1.0 66 introduced gecko 1.9.2 inherits from: iunknown last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview [propget] hresult columnextent([out] long ncolumnsspanned ); [propget] hresult columnheadercells([out, size_is(, ncolumnheadercells,)] iunknown cellaccessibles, [out] long ncolumnheadercells ); [propget] hresult columnindex([out] long columnindex ); [propget] hresult isselected([out] boolean isselected ); [propget] hresult rowcolumnextents([out] long row, [out] long column, [out] long rowextents, [out] long columnextents, [out] boolean isselected ); [propget] hresult rowextent([out] lon...
IAccessibleText
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (
firefox 3) this enum defines values which specify a text() boundary type.
IAccessibleValue
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (
firefox 3) the iaccessiblevalue interface represents a single numerical value and should be implemented by any class that supports numerical value like progress bars and spin boxes.
IJSDebugger
1.0 66 introduced gecko 9.0 inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) implemented by: @mozilla.org/jsdebugger;1 as a service: var jsdebugger = components.classes["@mozilla.org/jsdebugger;1"] .createinstance(components.interfaces.ijsdebugger); note: you should almost never directly use this service; instead, you should use the javascript code module that does this for you.
amIInstallCallback
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void oninstallended(in astring aurl, in print32 astatus); methods oninstallended() called when an install completes or fails.
amIInstallTrigger
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean enabled(); boolean install(in nsivariant aargs, [optional] in amiinstallcallback acallback); boolean installchrome(in pruint32 atype, in astring aurl, in astring askin); deprecated since gecko 2.0 boolean startsoftwareupdate(in astring aurl, [optional] in print32 aflags); deprecated since gecko 2.0 boolean updateenabled(); deprecated since gecko 2.0 constants retained for backwards compatibility.
amIWebInstallListener
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview boolean onwebinstallblocked(in nsidomwindow awindow, in nsiuri auri, [array, size_is(acount)] in nsivariant ainstalls, [optional] in pruint32 acount); void onwebinstalldisabled(in nsidomwindow awindow, in nsiuri auri, [array, size_is(acount)] in nsivariant ainstalls, [optional] in pruint32 acount); boolean onwebins...
amIWebInstallPrompt
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview void confirm(in nsidomwindow awindow, in nsiuri auri, [array, size_is(acount)] in nsivariant ainstalls, [optional] in pruint32 acount); prior to gecko 8.0, all references to nsidomwindow used in this interface were nsidomwindow.
amIWebInstaller
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview boolean installaddonsfromwebpage(in astring amimetype, in nsidomwindow awindow, in nsiuri areferer, [array, size_is(ainstallcount)] in wstring auris, [array, size_is(ainstallcount)] in wstring ahashes, [array, size_is(ainstallcount)] in wstring anames, [array, size_is(ainstallcount)] in wstring aicons, [optional] in amiinstallcallback acallback, [optional] in pruint32 ainstallcount); boolean isinstallenabled(in astring amimetype, in nsiuri areferer); note: prior t...
imgICache
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) as of
firefox 18, there is no longer a single image cache.
imgILoader
inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by @mozilla.org/image/loader;1 as a service: var imgiloader = components.classes["@mozilla.org/image/loader;1"] .getservice(components.interfaces.imgiloader); method overview imgirequest loadimage(in nsiuri auri, in nsiuri ainitialdocumenturl, in nsiuri areferreruri, in nsiprincipal aloadingprincipal, in nsiloadgroup aloadgroup, in imgidecoderobserver aobserver, in nsisupports acx, in nsloadflags aloadflags, in nsisupports cachekey, in imgirequest arequest, in nsichannelpolicy channelpolicy); imgirequest loadimagewithchannel(in nsichannel achannel, in imgidecodero...
imgIRequest
inherits from: nsirequest last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview void cancelandforgetobserver(in nsresult astatus); imgirequest clone(in imgidecoderobserver aobserver); void decrementanimationconsumers(); imgirequest getstaticrequest(); void incrementanimationconsumers(); void lockimage(); void requestdecode(); void unlockimage(); attributes attribute type description corsmode long the cors mode that this image was loaded with.
inIDOMUtils
inherits from: nsisupports last changed in gecko 22.0 (
firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) implemented by: @mozilla.org/inspector/dom-utils;1 as a service: var inidomutils = components.classes["@mozilla.org/inspector/dom-utils;1"] .getservice(components.interfaces.inidomutils); method overview void addpseudoclasslock(in nsidomelement aelement, in domstring apseudoclass); void clearpseudoclasslocks(in nsidomelement aelement); [implicit_jscontext] jsval colornametorgb(in domstring acolorname); nsiarray getbindingurls(in nsidomelement aelement); nsidomnodelist getchildrenfornode(in nsidomnode anode, in boolean ashowinganonymouscontent); ...
jsdIStackFrame
inherits from: jsdiephemeral last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) strict mode is on.
mozIAsyncFavicons
1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8) nsifaviconservice handles this interface, so you do not need to directly create a new service.
mozIAsyncHistory
1.0 66 introduced gecko 24.0 inherits from: nsisupports last changed in gecko 24.0 (
firefox 24.0 / thunderbird 24.0 / seamonkey 2.21) implemented by: @mozilla.org/browser/history;1 as a service: var asynchistory = components.classes["@mozilla.org/browser/history;1"] .getservice(components.interfaces.moziasynchistory); method overview void getplacesinfo(in jsval aplaceidentifiers, in mozivisitinfocallback acallback); void isurivisited(in nsiuri auri, in mozivisitedstatuscallback acallback); void updateplaces(in moziplaceinfo, [optional] in mozivisitinfocallback acallback); metho...
mozIColorAnalyzer
toolkit/components/places/mozicoloranalyzer.idlscriptable provides methods to analyze colors in an image 1.0 66 introduced gecko 17.0 inherits from: nsisupports last changed in gecko 17.0 (
firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) method overview void findrepresentativecolor(in nsiuri imageuri, in mozirepresentativecolorcallback callback); methods findrepresentativecolor() given an image uri, find the most representative color for that image based on the frequency of each color.
mozIJSSubScriptLoader
66 introduced gecko 1.0 inherits from: nsisupports last changed in gecko 28 (
firefox 28 / thunderbird 28 / seamonkey 2.25 /
firefox os 1.3) implemented by: @mozilla.org/moz/jssubscript-loader;1.
mozIPlaceInfo
toolkit/components/places/public/moziasynchistory.idlscriptable this interface provides additional info for a places entry 1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) attributes attribute type description frecency long read only: the frecency of the place.
mozIPlacesAutoComplete
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void registeropenpage(in nsiuri auri); void unregisteropenpage(in nsiuri auri); constants constant value description match_anywhere 0 match anywhere in each searchable term.
mozIRepresentativeColorCallback
toolkit/components/places/mozicoloranalyzer.idlscriptable provides callback methods for mozicoloranalyzer 1.0 66 introduced gecko 17.0 inherits from: nsisupports last changed in gecko 17.0 (
firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) method overview void oncomplete(in boolean success, [optional] in unsigned long color); methods oncomplete() will be called when color analysis finishes.
mozIStorageAggregateFunction
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void onstep(in mozistoragevaluearray afunctionarguments); nsivariant onfinal(); methods onstep() this is called for each row of results returned by the query.
mozIStorageBindingParams
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports you can only create mozistoragebindingparams objects by calling the mozistoragebindingparamsarray.newbindingparams().
mozIStorageBindingParamsArray
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports you can only create these objects by calling the mozistoragestatement.newbindingparamsarray().
mozIStorageCompletionCallback
last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsisupports method overview void complete(); methods complete() called when an asynchronous storage routine has completed.
mozIStorageError
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports attributes attribute type description message autf8string a human readable error string with details; this may be null if no details are available.
mozIStoragePendingStatement
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports method overview void cancel(); methods cancel() cancels the pending statement.
mozIStorageProgressHandler
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview boolean onprogress(in mozistorageconnection aconnection); methods onprogress() the onprogress() method is called periodically while an sqlite operation is ongoing.
mozIStorageResultSet
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports method overview mozistoragerow getnextrow(); methods getnextrow() returns the next row from the result set.
mozIStorageRow
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: mozistoragevaluearray method overview nsivariant getresultbyindex(in unsigned long aindex); nsivariant getresultbyname(in autf8string aname); methods getresultbyindex() returns the value from a specific column in the row, using a zero-based index to identify the column.
mozIStorageService
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) see mozistorageconnection method overview nsifile backupdatabasefile(in nsifile adbfile, in astring abackupfilename, [optional] in nsifile abackupparentdirectory); mozistorageconnection opendatabase(in nsifile adatabasefile); mozistorageconnection openspecialdatabase(in string astoragekey); mozistorageconnection openunshareddatabase(in nsifile adatabasefile); methods b...
mozIStorageStatementCallback
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports method overview void handlecompletion(in unsigned short areason); void handleerror(in mozistorageerror aerror); void handleresult(in mozistorageresultset aresultset); constants constant value description reason_finished 0 the statement has finished executing normally.
mozIStorageVacuumParticipant
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) to create an instance of this interface, use the category manger, with the category "vacuum-participant".
mozIStorageValueArray
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview long gettypeofindex(in unsigned long aindex); long getint32(in unsigned long aindex); long long getint64(in unsigned long aindex); double getdouble(in unsigned long aindex); autf8string getutf8string(in unsigned long aindex); astring getstring(in unsigned long aindex); void getblob(in unsigned long aindex, out unsigned long adatasiz...
mozITXTToHTMLConv
last changed in gecko 1.8.1 (
firefox 2 / thunderbird 2 / seamonkey 1.1) inherits from nsistreamconverter implemented by @mozilla.org/txttohtmlconv;1 as a service: var ios = components.classes["@mozilla.org/txttohtmlconv;1"] .getservice(components.interfaces.mozitxttohtmlconv); method overview unsigned long citeleveltxt(in wstring line, out unsigned long loglinestart) void findurlinplaintext(in wstring text, in long alength, in long apos, out long astartpos, out long aendpos) wstr...
mozIThirdPartyUtil
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean isthirdpartychannel(in nsichannel achannel, [optional] in nsiuri auri); boolean isthirdpartyuri(in nsiuri afirsturi, in nsiuri aseconduri); boolean isthirdpartywindow(in nsidomwindow awindow, [optional] in nsiuri auri); methods isthirdpartychannel() determine whether the given channel and its content window hierarchy is third party.
mozIVisitInfo
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) attributes attribute type description referreruri nsiuri read only: the referring uri of this visit.
mozIVisitStatusCallback
toolkit/components/places/moziasynchistory.idlscriptable this interface provides callback handling functionality for moziasynchistory.isurivisited 1.0 66 introduced gecko 11.0 inherits from: nsisupports last changed in gecko 11.0 (
firefox 11.0 / thunderbird 11.0 / seamonkey 2.8) method overview void isvisited(in nsiuri auri, in boolean avisitedstatus); methods isvisited() called when the moziasynchistory.isurivisited() method's check to determine whether a given uri has been visited has completed.
nsIAbstractWorker
1.0 66 introduced gecko 1.9.1 inherits from: nsidomeventtarget last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) attributes attribute type description onerror nsidomeventlistener the error listener for the worker.
nsIAccelerometerUpdate
xpcom/system/nsiaccelerometer.idlnot scriptable replaced by nsidevicemotionupdate 1.0 66 introduced gecko 2.0 obsolete gecko 6.0 inherits from: nsiaccelerometer last changed in gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) this method is only used in content tabs to receive nsiacceleration data from the chrome process.
nsIAccessibilityService
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsiaccessibleretrieval method overview nsiaccessible createouterdocaccessible(in nsidomnode anode); nsiaccessible createrootaccessible(in nsipresshell ashell, in nsidocument adocument); nsiaccessible createhtml4buttonaccessible(in nsisupports aframe); nsiaccessible createhypertextaccessible(in nsisupports aframe); nsiaccessible createhtmlbraccessible(in nsisupports aframe); nsiaccessible createhtmlbuttonaccessible(in nsisupports aframe); nsiaccessible createhtmlaccessiblebymarkup(in nsiframe aframe, in nsiweakreference aweakshell, in nsidomnode adomnode); nsiaccessible crea...
nsIAccessible
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) overview this section provides short overview of methods and attributes of this interface.
nsIAccessibleCaretMoveEvent
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) attributes attribute type description caretoffset long return caret offset.
nsIAccessibleCoordinateType
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) prior to gecko 1.9, these constants were implemented in nsiaccessibletext.
nsIAccessibleEditableText
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void copytext(in long startpos, in long endpos); void cuttext(in long startpos, in long endpos); void deletetext(in long startpos, in long endpos); void inserttext(in astring text, in long position); void pastetext(in long position); void setattributes(in long startpos, in long endpos, in nsisupports attributes); unimplem...
nsIAccessibleEvent
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) attributes attribute type description accessible nsiaccessible the nsiaccessible associated with the event.
nsIAccessibleImage
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void getimageposition(in unsigned long coordtype, out long x, out long y); void getimagesize(out long width, out long height); methods getimageposition() returns the coordinates of the image accessible.
nsIAccessibleProvider
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) attributes attribute type description accessible nsiaccessible read only.
nsIAccessibleRelation
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) note: be carefull, do not change constants until atk has a structure to map gecko constants into atk constants.
nsIAccessibleRole
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) constants constant value description role_nothing 0 used when accessible has no strong defined role.
nsIAccessibleScrollType
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) constants constant value description scroll_type_top_left 0x00 scroll the top left of the object or substring to the top left of the window (or as close as possible).
nsIAccessibleStateChangeEvent
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview boolean isenabled(); boolean isextrastate(); attributes attribute type description state unsigned long returns the state of accessible (see constants declared in nsiaccessiblestates).
nsIAccessibleStates
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) prior to gecko 1.9, these constants were implemented in nsiaccessible.
nsIAccessibleTable
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsiaccessible getcellat(in long rowindex, in long columnindex); note: renamed from cellrefat in gecko 1.9.2 long getcellindexat(in long rowindex, in long columnindex); note: renamed from getindexat in gecko 1.9.2 astring getcolumndescription(in long columnindex); long getcolumnextentat(in long row, in long column); long getcolumnindexat(in long cellindex); note: renamed from getcolumnatindex in gecko 1.9.2 void getrowandcolumnindicesat(in long cellindex, out long rowindex, out long columnindex); astring getrowdescrip...
nsIAccessibleTableCell
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview boolean isselected(); attributes attribute type description columnextent long return the number of columns occupied by this cell.
nsIAccessibleTableChangeEvent
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) attributes attribute type description numrowsorcols long return the number of rows or cols.
nsIAccessibleTextChangeEvent
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview boolean isinserted(); attributes attribute type description length unsigned long returns length of changed text.
nsIAnnotationObserver
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void onitemannotationremoved(in long long aitemid, in autf8string aname); void onitemannotationset(in long long aitemid, in autf8string aname); void onpageannotationremoved(in nsiuri auri, in autf8string aname); void onpageannotationset(in nsiuri apage, in autf8string aname); methods onitemannotationremoved() this method is called when an annotation is deleted for an item.
nsIAnnotationService
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: "@mozilla.org/browser/annotation-service;1".
nsIAppStartup_MOZILLA_2_0
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) in gecko 4.0 this interface was merged into the nsiappstartup interface.
nsIApplicationUpdateService
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void adddownloadlistener(in nsirequestobserver listener); astring downloadupdate(in nsiupdate update, in boolean background); void pausedownload(); void removedownloadlistener(in nsirequestobserver listener); nsiupdate selectupdate([array, size_is(updatecount)] in nsiupdate updates, in unsigned long updatecount); attributes attribute type description backgroundchecker nsi...
nsIAsyncStreamCopier
inherits from: nsirequest last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void asynccopy(in nsirequestobserver aobserver, in nsisupports aobservercontext); void init(in nsiinputstream asource, in nsioutputstream asink, in nsieventtarget atarget, in boolean asourcebuffered, in boolean asinkbuffered, in unsigned long achunksize, in boolean aclosesource, in boolean aclosesink); methods asynccopy() starts the copy operation.
nsIAsyncVerifyRedirectCallback
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface implements the callbacks passed to the nsichanneleventsink.asynconchannelredirect() method.
nsIAuthInformation
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) the caller of nsiauthprompt2.promptusernameandpassword() or nsiauthprompt2.promptpasswordasync() provides an object implementing this interface; the prompt implementation can then read the values here to prefill the dialog.
nsIAuthModule
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void getnexttoken([const] in voidptr aintoken, in unsigned long aintokenlength, out voidptr aouttoken, out unsigned long aouttokenlength); void init(in string aservicename, in unsigned long aserviceflags, in wstring adomain, in wstring ausername, in wstring apassword); void unwrap([const] in voidptr aintoken, in unsigned long aintokenlength, out voidptr aouttoken, out unsigned long aouttokenlength); void wrap([const] in voidptr aintoken, in unsigned long aintokenlength, in boolean confidential, out voidptr aouttoken, out unsigne...
nsIAuthPrompt
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) this interface is implemented by @mozilla.org/login-manager/prompter;1.
nsIAuthPrompt2
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) this interface is usually acquired using getinterface on notification callbacks or similar.
nsIAuthPromptAdapterFactory
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview nsiauthprompt2 createadapter(in nsiauthprompt aprompt); methods createadapter() wrap an object implementing nsiauthprompt so that it's usable via nsiauthprompt2.
nsIAuthPromptCallback
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) callers must call exactly one method if nsiauthprompt2.asyncpromptauth() returns successfully.
nsIAuthPromptProvider
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void getauthprompt(in pruint32 apromptreason, in nsiidref iid, [iid_is(iid),retval] out nsqiresult result); constants constant value description prompt_normal 0 normal (non-proxy) prompt request.
nsIAutoCompleteInput
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview acstring getsearchat(in unsigned long index); void onsearchbegin(); void onsearchcomplete(); boolean ontextentered(); boolean ontextreverted(); void selecttextrange(in long startindex, in long endindex); attributes attribute type description completedefaultindex boolean if a search result has its defaultindex set, this will optionally try to complete the text in th...
nsIAutoCompleteObserver
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void onsearchresult(in nsiautocompletesearch search, in nsiautocompleteresult result); void onupdatesearchresult(in nsiautocompletesearch search, in nsiautocompleteresult result); methods onsearchresult() called when a search is complete and the results are ready.
nsIBadCertListener2
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) replaces the obsolete nsibadcertlistener interface.
nsIBidiKeyboard
a user is a bidirectional writer if they have keyboard layouts in both left-to-right and right-to-left directions (that is users who use arabic, iranian (persian), or israel (hebrew) keyboard layout, beside an us (english) layout.) inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) method overview boolean islangrtl(); void setlangfrombidilevel(in pruint8 alevel); attributes attribute type description havebidikeyboards boolean indicates whether or not the system has at least one keyboard for each direction (left-to-right and right-to-left) installed.
nsIBlocklistPrompt
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void prompt([array, size_is(acount)] in nsivariant aaddons, [optional] in pruint32 acount); methods prompt() prompt the user about newly blocked addons.
nsIBlocklistService
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 29 (
firefox 29 / thunderbird 29 / seamonkey 2.26) method overview unsigned long getaddonblockliststate(in jsval addon, [optional] in astring appversion, [optional] in astring toolkitversion); unsigned long getpluginblockliststate(in nsiplugintag plugin, [optional] in astring appversion, [optional] in astring toolkitversion); boolean isaddonblocklisted(in jsval addon, [optional] in astring appversion, [optional] in astring toolkitversion); constants constant value description state_not_blocked 0 state_softblocked 1 ...
nsIBrowserBoxObject
inherits from: nsicontainerboxobject last changed in gecko 1.9 (
firefox 3) the boxobject belonging to a xul browser element implements this interface.
nsICache
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports constants constant value description access_none 0 access granted - no descriptor is provided.
nsICacheEntryDescriptor
inherits from: nsicacheentryinfo last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void close(); void doom(); void doomandfailpendingrequests(in nsresult status); string getmetadataelement(in string key); void markvalid(); nsiinputstream openinputstream(in unsigned long offset); nsioutputstream openoutputstream(in unsigned long offset); void setdatasize(in unsigned long size); void setexpirationtime(in pruint32 expirationtime); void setmetadataelement(in string key, in string value); void visitmetadata(in nsicachemetadatavisitor visitor); attributes attribute type description accessgranted nscacheaccessmode get th...
nsICacheListener
inherits from: nsisupports last changed in gecko 14 (
firefox 14 / thunderbird 14 / seamonkey 2.11) method overview void oncacheentryavailable(in nsicacheentrydescriptor descriptor, in nscacheaccessmode accessgranted, in nsresult status); void oncacheentrydoomed(in nsresult status); methods oncacheentryavailable() this method is called when the requested access (or appropriate subset) is acquired.
nsICacheSession
inherits from: nsisupports last changed in gecko 14 (
firefox 14 / thunderbird 14 / seamonkey 2.11) method overview void asyncopencacheentry(in acstring key, in nscacheaccessmode accessrequested, in nsicachelistener listener, [optional] in boolean nowait); void evictentries(); prbool isstorageenabled(); nsicacheentrydescriptor opencacheentry(in acstring key, in nscacheaccessmode accessrequested, in boolean blockingmode); void doomentry(in acstring key, in nsicachelistener listener); attributes attribute type description doomentri...
nsICancelable
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void cancel(in nsresult areason); methods cancel() call this method to request that this object abort whatever operation it may be performing.
nsICategoryManager
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/categorymanager;1.
nsIChannel
inherits from: nsirequest last changed in gecko 19.0 (
firefox 19.0 / thunderbird 19.0 / seamonkey 2.16) once a channel is created (via nsiioservice.newchannel()), parameters for that request may be set by using the channel attributes, or by calling queryinterface() to retrieve a subclass of nsichannel for protocol-specific parameters.
nsIChannelPolicy
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface exists to allow the content policy mechanism to function properly during channel redirects.
nsIChromeFrameMessageManager
1.0 66 introduced gecko 2.0 inherits from: nsiframemessagemanager last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void loadframescript(in astring aurl, in boolean aallowdelayedload); void removedelayedframescript(in astring aurl); methods loadframescript() loads a script into the remote frame.
nsIClassInfo
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsisupports gethelperforlanguage(in pruint32 language); void getinterfaces(out pruint32 count, [array, size_is(count), retval] out nsiidptr array); attributes attribute type description classdescription string a human readable string naming the class, or null.
nsIClipboardOwner
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview void losingownership(in nsitransferable atransferable); methods losingownership() this method notifies the owner of the clipboard transferable that the transferable is being removed from the clipboard.
nsICommandLine
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) components may implement the nsicommandlinehandler interface to add custom command line handling behavior.
nsICommandLineHandler
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) each command line handler is registered in the category "command-line-handler".
nsICommandLineRunner
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsicommandline method overview void init(in long argc, in nscharptrarray argv, in nsifile workingdir, in unsigned long state); void run(); void setwindowcontext(in nsidomwindow awindow); attributes attribute type description helptext autf8string process and combine the help text provided by each command-line handler.
nsICompositionStringSynthesizer
dom/interfaces/base/nsicompositionstringsynthesizer.idlscriptable this interface is a composition string synthesizer interface that synthesizes composition string with arbitrary clauses and a caret 1.0 66 introduced gecko 26 obsolete gecko 38 inherits from: nsisupports last changed in gecko 38.0 (
firefox 38.0 / thunderbird 38.0 / seamonkey 2.35) this interface is obsoleted in gecko 38.
nsIContainerBoxObject
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) the boxobject belonging to a xul browser, editor or iframe element implements this interface.
nsIContentPref
nsicontentpref dom/interfaces/base/nsicontentprefservice2.idlscriptable a content preference 1.0 66 introduced gecko 20.0 inherits from: nsisupports last changed in gecko 20.0 (
firefox 20.0 / thunderbird 20.0 / seamonkey 2.17) attributes attribute type description domain astring read only.
nsIContentPrefCallback2
dom/interfaces/base/nsicontentprefservice2.idlscriptable callback used by nsicontentprefservice2 methods 1.0 66 introduced gecko 20.0 inherits from: nsisupports last changed in gecko 20.0 (
firefox 20.0 / thunderbird 20.0 / seamonkey 2.17) method overview void handlecompletion(in unsigned short reason); void handleerror(in nsresult error); void handleresult(in nsicontentpref pref); constants constant value description complete_ok 0 complete_error 1 methods handlecompletion() called when the method finishes.
nsIContentPrefObserver
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void oncontentprefremoved(in astring agroup, in astring aname); void oncontentprefset(in astring agroup, in astring aname, in nsivariant avalue); methods oncontentprefremoved() called when a content preference is removed.
nsIContentPrefService
last changed in gecko 2 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsisupports implemented by: @mozilla.org/content-pref/service;1.
nsIContentPrefService2
dom/interfaces/base/nsicontentprefservice2.idlscriptable asynchronous api for content preferences 1.0 66 introduced gecko 20.0 inherits from: nsisupports last changed in gecko 20.0 (
firefox 20.0 / thunderbird 20.0 / seamonkey 2.17) description content preferences allow the application to associate arbitrary data, or "preferences", with specific domains, or web "content".
nsIContentSecurityPolicy
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean permitsancestry(in nsidocshell docshell); void refinepolicy(in astring policystring, in nsiuri selfuri); void scanrequestdata(in nsihttpchannel achannel); void sendreports(in astring blockeduri, in astring violateddirective); short shouldload(in unsigned long acontenttype, in nsiuri acontentlocation, in nsiuri arequestorigin, in nsisupports acontext, in acstring amimetypeguess, in nsisupports aextra); short shouldprocess(in unsigned long acontenttype, in nsiuri ac...
nsIContentSniffer
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) to implement this interface use net-content-sniffers category.
nsIContentView
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) see working with content views for details on how to use this api.
nsIContentViewManager
content/base/public/nsiframeloader.idlscriptable manages the content views contained in a browser 1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) to obtain a reference to the view manager for a document, you can queryinterface() the nsiframeloader object to nsicontentviewmanager.
nsIControllers
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) this interface is used to manage instances of the nsicontroller interface.
nsIConverterInputStream
1.0 66 introduced gecko 1.8 inherits from: nsiunicharinputstream last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by: @mozilla.org/intl/converter-input-stream;1.
nsIConverterOutputStream
1.0 66 introduced gecko 1.8 inherits from: nsiunicharoutputstream last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by: @mozilla.org/intl/converter-output-stream;1.
nsICookie2
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsicookie attributes attribute type description creationtime print64 the creation time of the cookie, in microseconds since midnight (00:00:00), january 1, 1970 utc.
nsICookieConsent
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void getconsent(); methods getconsent() gives a decision on what should be done with a cookie, based on a site's p3p policy and the user's preferences.
nsICookiePermission
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview nscookieaccess canaccess(in nsiuri auri, in nsichannel achannel); boolean cansetcookie(in nsiuri auri, in nsichannel achannel, in nsicookie2 acookie, inout boolean aissession, inout print64 aexpiry); nsiuri getoriginatinguri(in nsichannel achannel); void setaccess(in nsiuri auri, in nscookieaccess aaccess); constants constant value description access_default 0 nscookieaccess's access default value access_allow 1 nscookieaccess's access allow value access_deny 2 nscookieaccess's access deny value access_session 8 additio...
nsICookiePromptService
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview long cookiedialog(in nsidomwindow parent, in nsicookie cookie, in acstring hostname, in long cookiesfromhost, in boolean changingcookie, out boolean rememberdecision); constants constant value description deny_cookie 0 holds the value for a denying the cookie.
nsICookieStorage
obsolete since gecko 2 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
nsICrashReporter
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void annotatecrashreport(in acstring key, in acstring data); void appendappnotestocrashreport(in acstring data); void appendobjcexceptioninfotoappnotes(in voidptr aexception); native code only!
nsICryptoHMAC
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview acstring finish(in prbool aascii); void init(in unsigned long aalgorithm, in nsikeyobject akeyobject); void reset(); void update([const, array, size_is(alen)] in octet adata, in unsigned long alen); void updatefromstream(in nsiinputstream astream, in unsigned long alen); constants hashing algorithms.
nsICycleCollectorListener
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) the order of calls will be call to begin(); then for every node in the graph a call to noteobject() and calls to noteedge() for every edge starting at that node; then a call to begindescriptions(); then for every black node in the cycle collector graph a call to either describerefcountedobject() or to describegcedobject(); and then a call to end().
nsIDOMChromeWindow
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void beginwindowmove(in nsidomevent mousedownevent); void getattention(); void getattentionwithcyclecount(in long acyclecount); void maximize(); void minimize(); void notifydefaultbuttonloaded(in nsidomelement defaultbutton); void restore(); void setcursor(in domstring cursor); attributes attribute type description browserdomwindow nsibrowserdomwindow the related nsibrowserdomwindow instance which provides access to yet another layer of utility functions by chrome script.
nsIDOMClientRect
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) attributes attribute type description bottom float y-coordinate, relative to the viewport origin, of the bottom of the rectangle box.
nsIDOMEvent
inherits from: nsisupports last changed in gecko 16.0 (
firefox 16.0 / thunderbird 16.0 / seamonkey 2.13) note: as of gecko 16.0, the nsiprivatedomevent interface was merged into this interface.
nsIDOMEventTarget
inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) see the eventtarget documentation.
nsIDOMFile
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports this interface implements the dom file object; for complete documentation, read up on that.
nsIDOMFileError
obsolete since gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10)this feature is obsolete.
nsIDOMFileException
last changed in gecko 1.9 (
firefox 3) attributes attribute type description code unsigned short the error code describing the error condition that took place; see the constants list for details.
nsIDOMFileReader
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports implemented by: @mozilla.org/files/filereader;1.
nsIDOMFontFace
1.0 66 introduced gecko 7.0 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) this object describes a single font.
nsIDOMFontFaceList
1.0 66 introduced gecko 7.0 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) method overview nsidomfontface item(in unsigned long index); attributes attribute type description length unsigned long the number of items in the list.
nsIDOMGeoGeolocation
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports implemented by: @mozilla.org/geolocation;1.
nsIDOMGeoPosition
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) attributes attribute type description address nsidomgeopositionaddress the address of the user's current location, if available.
nsIDOMGeoPositionCallback
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void handleevent(in nsidomgeoposition position); methods handleevent() called when new position information is available.
nsIDOMGeoPositionCoords
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports attributes attribute type description latitude double the user's current latitude, in degrees.
nsIDOMGeoPositionErrorCallback
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void handleevent(in nsidomgeopositionerror position); methods handleevent() called to handle a geolocation error.
nsIDOMGeoPositionOptions
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports attributes attribute type description enablehighaccuracy boolean if true, high accuracy mode is used.
nsIDOMHTMLAudioElement
last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsidomhtmlmediaelement method overview unsigned long long mozcurrentsampleoffset(); void mozsetup(in pruint32 channels, in pruint32 rate); [implicit_jscontext] unsigned long mozwriteaudio(in jsval data); methods mozcurrentsampleoffset() non-standard this feature is non-standard and is not on a standards track.
nsIDOMHTMLTimeRanges
last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsisupports method overview float start(in unsigned long index); float end(in unsigned long index); attributes attribute type description length unsigned long the number of ranges represented by the nsidomhtmltimeranges object.
nsIDOMMouseScrollEvent
1.0 66 introduced gecko 1.9.1 inherits from: nsidommouseevent last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) gecko 1.9.2 note prior to gecko 1.9.2, this inherited from nsisupports instead of from nsidommouseevent.
nsIDOMMozNetworkStatsData
1.0 66 introduced gecko 18.0 inherits from: nsisupports last changed in gecko 18.0 (
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15) attributes attribute type description rxbytes unsigned long the number of bytes received on the connection.
nsIDOMMozNetworkStatsManager
inherits from: nsisupports last changed in gecko 18.0 (
firefox 18.0 / thunderbird 18.0 / seamonkey 2.15) implemented by: @mozilla.org/networkstatsmanager;1.
nsIDOMMozTouchEvent
last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsidommouseevent method overview void initmoztouchevent(in domstring typearg, in boolean canbubblearg, in boolean cancelablearg, in nsidomabstractview viewarg, in long detailarg, in long screenxarg, in lon...
nsIDOMNavigatorDesktopNotification
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) property that extends the navigator object.
nsIDOMOrientationEvent
last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsidomevent method overview void initorientationevent(in domstring eventtypearg, in boolean canbubblearg, in boolean cancelablearg, in double x, in double y, in double z); attributes attribute type description x double the amount of tilt along the x axis.
nsIDOMParser
(this section is only relevant to
firefox extensions--not to web content.) to create a document, the parser needs to specify a principal (see security check basics), a base uri (see document.baseuriobject), and a documenturi.
nsIDOMProgressEvent
1.0 66 introduced gecko 1.9.1 deprecated gecko 22 inherits from: nsidomevent last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) the nsidomprogressevent is used in the media elements (<video> and <audio>) to inform interested code of the progress of the media download.
nsIDOMSimpleGestureEvent
1.0 66 introduced gecko 1.9.1 inherits from: nsidommouseevent last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) the nsidomsimplegestureevent interface is the datatype for all mozilla-specific simple gesture events in the document object model.
nsIDOMStorage
1.0 66 introduced gecko 1.8.1 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) a dom window's session storage object can be retrieved from the window's sessionstorage attribute.
nsIDOMStorage2
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports method overview void clear(); domstring getitem(in domstring key); domstring key(in unsigned long index); void removeitem(in domstring key); void setitem(in domstring key, in domstring data); attributes attribute type description length unsigned long the number of keys stored in local storage.
nsIDOMStorageItem
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) gecko 1.9.1 note starting in gecko 1.9.1 (
firefox 3.5), this is only used for session storage; previously, it was also used for global storage.
nsIDOMStorageList
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview nsidomstorage nameditem(in domstring domain); methods nameditem() called when the list of available access points changes.
nsIDOMStorageManager
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by @mozilla.org/dom/storagemanager;1 as a service: var domstoragemanager = components.classes["@mozilla.org/dom/storagemanager;1"] .getservice(components.interfaces.nsidomstoragemanager); method overview void clearofflineapps(); nsidomstorage getlocalstorageforprincipal(in nsiprincipal aprincipal, in domstring adocumenturi); long getusage(in astring aownerdomain); methods clearofflineapps() clears keys owned by offline applications.
nsIDOMStorageWindow
1.0 66 introduced gecko 1.8.1 obsolete gecko 8.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) in gecko 8.0 this interface has been merged into nsidomwindow, and this interface has been removed.
nsIDOMUserDataHandler
1.0 66 introduced gecko 1.5 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void handle(in unsigned short operation, in domstring key, in nsivariant data, in nsidomnode src, in nsidomnode dst); constants constant value description node_cloned 1 the node was cloned.
nsIDOMWindow2
inherits from: nsidomwindow last changed in gecko 1.9 (
firefox 3) because nsidomwindow is frozen, this interface was introduced in
firefox 3 (gecko 1.9) to allow dom windows to take on new features.
nsIDOMXULElement
66 introduced gecko 1.0 inherits from: nsidomelement last changed in gecko 1.9 (
firefox 3) method overview void blur(); void click(); void docommand(); void focus(); nsidomnodelist getelementsbyattribute(in domstring name, in domstring value); nsidomnodelist getelementsbyattributens(in domstring namespaceuri, in domstring name, in domstring value); attributes attribute type description align domstring gets/sets the value of the element's align attribute.
nsIDOMXULSelectControlElement
inherits from: nsidomxulcontrolelement last changed in gecko 1.9 (
firefox 3) method overview nsidomxulselectcontrolitemelement appenditem(in domstring label, in domstring value); long getindexofitem(in nsidomxulselectcontrolitemelement item); nsidomxulselectcontrolitemelement getitematindex(in long index); nsidomxulselectcontrolitemelement insertitemat(in long index, in domstring label, in domstring value); nsidomxulselectcontrolitemelement removeitemat(in long index); attributes attribute type description itemcount unsigned long read only.
nsIDataSignatureVerifier
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview boolean verifydata(in acstring adata, in acstring asignature, in acstring apublickey); methods verifydata() verifies that the data matches the data that was used to generate the signature.
nsIDeviceMotion
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) note: this interface was named nsidevicemotion prior to gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3).
nsIDeviceMotionData
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) note: this interface was named nsidevicemotiondata prior to gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3).
nsIDeviceMotionListener
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void onmotionchange(in nsidevicemotiondata amotiondata); methods onmotionchange() called when new orientation or acceleration data is available.
nsIDialogCreator
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void opendialog(in unsigned long atype, in acstring aname, in acstring afeatures, in nsidialogparamblock aarguments, [optional] in nsidomelement aframeelement); constants constant value description unknown_dialog 0 generic_dialog 1 select_dialog 2 methods opendialog() void opendialog( in unsigned long atype, in acstring aname, in acstring afeatures, in nsidialogparamblock aarguments, in nsidomelement aframeelement optional ); parameters atype aname afeatures aarguments aframeelement optional ...
nsIDictionary
66 introduced gecko 1.0 obsolete gecko 1.9.1 inherits from: nsisummary last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) note: this interface was removed in
firefox 3.5; use dict.jsm instead.
nsIDirIndexListener
they can then be transformed into an output format (such as rdf, html and so on) inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void onindexavailable(in nsirequest arequest, in nsisupports actxt, in nsidirindex aindex); void oninformationavailable(in nsirequest arequest, in nsisupports actxt, in astring ainfo); methods onindexavailable() called for each directory entry.
nsIDirectoryEnumerator
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void close(); attributes attribute type description nextfile nsifile the next file in the sequence.
nsIDirectoryIterator
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview void init(in nsifilespec parent, in boolean resolvesymlink); boolean exist(); void next(); attributes attribute type description currentspec nsifilespec init() void init( in nsifilespec parent, in boolean resolvesymlink ); parameters parent resolvesymlink exist() boolean exists(); next() void next(); ...
nsIDiskCacheStreamInternal
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void closeinternal(); methods closeinternal() we use this method internally to close nsdiskcacheoutputstream under the cache service lock.
nsIDownloadHistory
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void adddownload(in nsiuri asource, [optional] in nsiuri areferrer, [optional] in prtime astarttime); methods adddownload() adds a download to history.
nsIDownloadManagerUI
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void getattention(); void show([optional] in nsiinterfacerequestor awindowcontext, [optional] in unsigned long aid, [optional] in short areason); attributes attribute type description visible boolean true if the download manager ui is visible; otherwise false.
nsIDragDropHandler
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview void detach(); void hookupto(in nsidomeventtarget attachpoint, in nsiwebnavigation navigator); methods detach() unregisters all handlers related to drag and drop.
nsIDragSession
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void getdata( in nsitransferable atransferable, in unsigned long aitemindex ); boolean isdataflavorsupported( in string adataflavor ); attributes attribute type description candrop boolean set the current state of the drag, whether it can be dropped or not.
nsIDroppedLinkHandler
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean candroplink(in nsidomdragevent aevent, in prbool aallowsamedocument); astring droplink(in nsidomdragevent aevent, out astring aname, [optional] in boolean adisallowinherit); void droplinks(in nsidomdragevent aevent, [optional] in boolean adisallowinherit, [optional] out unsigned long acount, [retval, array, size_is(acount)] out nsidroppedlinkitem alinks); methods candroplink() determines if a link being dragged can be dropped.
nsIDroppedLinkItem
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) attributes attribute type description url domstring url of the dropped link.
nsIDynamicContainer
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) the service can fill result nodes directly into the container when it is opened.
nsIEditorBoxObject
inherits from: nsicontainerboxobject last changed in gecko 1.9 (
firefox 3) the boxobject belonging to a xul editor element implements this interface.
nsIEventListenerInfo
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview nsisupports getdebugobject(); astring tosource(); attributes attribute type description allowsuntrusted boolean indicates whether or not the event listener allows untrusted events.
nsIEventListenerService
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) implemented by: @mozilla.org/eventlistenerservice;1.
nsIEventSource
content/base/public/nsieventsource.idlscriptable this is the interface for server-sent dom events 1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) this implements the eventsource interface used for server-sent events.
nsIExternalProtocolService
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) you can ask the external protocol service if it has an external handler for a given protocol scheme.
nsIExternalURLHandlerService
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsihandlerinfo geturlhandlerinfofromos(in nsiuri aurl, out boolean afound); methods geturlhandlerinfofromos() given a url, looks up the handler info from the operating system.
nsIFTPChannel
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports attributes attribute type description lastmodifiedtime prtime the time at which the ftp channel was last updated.
nsIFTPEventSink
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void onftpcontrollog(in boolean server, in string msg) methods onftpcontrollog allows a consumer to receive a log of the ftp control connection conversation.
nsIFaviconDataCallback
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void oncomplete(in nsiuri auri, in unsigned long adatalen, [const,array,size_is(adatalen)] in octet adata, in autf8string amimetype); methods oncomplete() called when the required favicon's information is available.
nsIFeed
1.0 66 introduced gecko 1.8 inherits from: nsifeedcontainer last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description cloud nsiwritablepropertybag2 the cloud element on a feed is used to identify the api endpoint of an rsscloud ping server, which distributes notifications of changes to this feed.
nsIFeedContainer
toolkit/components/feeds/public/nsifeedcontainer.idlscriptable this interface provides standard fields used by both feeds (nsifeed) and feed entries (nsifeedentry) 1.0 66 introduced gecko 1.8 inherits from: nsifeedelementbase last changed in gecko 1.8.1 (
firefox 2 / thunderbird 2 / seamonkey 1.1) method overview void normalize(); attributes attribute type description authors nsiarray an array of nsifeedperson objects describing the authors of the feed or entry.
nsIFeedElementBase
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description attributes nsisaxattributes all the attributes found on the element.
nsIFeedEntry
1.0 66 introduced gecko 1.8 inherits from: nsifeedcontainer last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description content nsifeedtextconstruct the full text of the entry's content.
nsIFeedGenerator
1.0 66 introduced gecko 1.8 inherits from: nsifeedelementbase last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description agent astring the name of the software that created the feed.
nsIFeedPerson
1.0 66 introduced gecko 1.8 inherits from: nsifeedelementbase last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description email astring the person's email address.
nsIFeedProcessor
1.0 66 introduced gecko 1.8.1 inherits from: nsistreamlistener last changed in gecko 1.8.1 (
firefox 2 / thunderbird 2 / seamonkey 1.1) implemented by: @mozilla.org/feed-processor;1.
nsIFeedProgressListener
1.0 66 introduced gecko 1.8 inherits from: nsifeedresultlistener last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void handleentry(in nsifeedentry entry, in nsifeedresult result); void handlefeedatfirstentry(in nsifeedresult result); void handlestartfeed(in nsifeedresult result); void reporterror(in astring errortext, in long linenumber, in boolean bozo); methods handleentry() called after each entry or ite...
nsIFeedResult
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void registerextensionprefix(in astring anamespace, in astring aprefix); attributes attribute type description bozo boolean the feed processor sets the bozo bit when a feed triggers a fatal error during xml parsing.
nsIFeedResultListener
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void handleresult(in nsifeedresult result); methods handleresult() called when feed processing is complete.
nsIFeedTextConstruct
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8.1 (
firefox 2 / thunderbird 2 / seamonkey 1.1) implemented by: @mozilla.org/feed-textconstruct;1, but users usually don't need to create instances of this directly.
nsIFileProtocolHandler
inherits from: nsiprotocolhandler last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview nsifile getfilefromurlspec(in autf8string url); autf8string geturlspecfromactualfile(in nsifile file); autf8string geturlspecfromdir(in nsifile file); autf8string geturlspecfromfile(in nsifile file); nsiuri newfileuri(in nsifile afile); nsiuri readurlfile(in nsifile file); methods getfilefromurlspec() converts the url string into the corresponding nsifile if possible.
nsIFileStreams
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void init(in nsifile file, in long ioflags, in long perm, in long behaviorflags); constants constants value description delete_on_close 1<<1 if this is set, the file will be deleted by the time the stream is closed.
nsIFileURL
inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) attributes attribute type description file nsifile get/set nsifile corresponding to this url.
nsIFormHistory2
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) note: this interface provides no means to access stored values.
nsIFrameLoader
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: this interface works in tandem with the nsicontentview interface to manage frames across processes if electrolysis is in use to support per-frame processes.
nsIFrameLoaderOwner
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview [noscript, notxpcom] alreadyaddrefed_nsframeloader getframeloader(); void swapframeloaders(in nsiframeloaderowner aotherowner); attributes attribute type description frameloader nsiframeloader the frame loader owned by this nsiframeloaderowner.
nsIFrameMessageListener
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface is used when implementing out-of-process handling of frames; the process handling a frame should implement this interface in order to receive messages.
nsIFrameMessageManager
1.0 66 introduced gecko 2.0 obsolete gecko 17.0 inherits from: nsisupports last changed in gecko 17.0 (
firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) this interface is obsolete and was removed in
firefox 17.
nsIGSettingsCollection
1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview boolean getboolean(in autf8string key); long getint(in autf8string key); autf8string getstring(in autf8string key); void setboolean(in autf8string key, in boolean value); void setint(in autf8string key, in long value); void setstring(in autf8string key, in autf8string value); methods getboolean() boolean getboolean( in autf8string key ); parameters key return value getint() long getint( in autf8string key ); parameters key return value getstring() autf8string getstring( in autf8string key ); parameters k...
nsIGSettingsService
1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) implemented by: @mozilla.org/gsettings-service;1 as a service: var gsettingsservice = components.classes["@mozilla.org/gsettings-service;1"] .createinstance(components.interfaces.nsigsettingsservice); method overview nsigsettingscollection getcollectionforschema(in autf8string schema); methods getcollectionforschema() nsigsettingscollection getcollectionforschema( in autf8string schema ); parameters schema return value ...
nsIGeolocationUpdate
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) interface provides a way for a geolocation provider to notify the system that a new location is available.
nsIGlobalHistory3
1.0 66 introduced gecko 1.8 obsolete gecko 9.0 inherits from: nsiglobalhistory2 last changed in gecko 1.9 (
firefox 3) this interface was originally created as part of nsiglobalhistory2, but was split off during the transition to places.
nsIHTTPHeaderListener
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) note: the plugin author must provide an instance to {geturl,posturl}() that implements both nsipluginstreamlistener and nsihttpheaderlistener.
nsIHapticFeedback
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/widget/hapticfeedback;1 as a service: var hapticfeedback = components.classes["@mozilla.org/widget/hapticfeedback;1"] .getservice(components.interfaces.nsihapticfeedback); once you have the service, you can initiate haptic feedback (that is, cause the device to vibrate, if it's supported) by calling performsimpleaction(): hapticfeedback.performsimpleaction(components.interfaces.nsihapticfeedback.longpress); method overview void performsimpleaction(in lon...
nsIHttpActivityDistributor
1.0 66 introduced gecko 1.9.2 inherits from: nsihttpactivityobserver last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) implemented by: mozilla.org/network/http-activity-distributor;1 as a service: var httpactivitydistributor = components.classes["@mozilla.org/network/http-activity-distributor;1"] .getservice(components.interfaces.nsihttpactivitydistributor); method overview void addobserver(in nsihttpactivityobserver aobserver); void removeobserver(in nsihttpactivityobse...
nsIHttpActivityObserver
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void observeactivity(in nsisupports ahttpchannel, in pruint32 aactivitytype, in pruint32 aactivitysubtype, in prtime atimestamp, in pruint64 aextrasizedata, in acstring aextrastringdata); attributes attribute type description isactive boolean true when the interface is active and should observe http activity, otherwise false.
nsIHttpChannelInternal
66 introduced gecko 1.0 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void getrequestversion(out unsigned long major, out unsigned long minor); void getresponseversion(out unsigned long major, out unsigned long minor); void httpupgrade(in acstring aprotocolname, in nsihttpupgradelistener alistener); void setcookie(in string acookieheader); void setupfallbackchannel(in string afallbackkey); attributes attribute type description canceled boolean returns true if and only if the ...
nsIHttpUpgradeListener
1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) this is used, for example, by websockets in order to upgrade an http channel to use the websocket protocol.
nsIIDNService
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/network/idn-service;1 as a service: var idnservice = components.classes["@mozilla.org/network/idn-service;1"] .getservice(components.interfaces.nsiidnservice); method overview autf8string convertacetoutf8(in acstring input); autf8string converttodisplayidn(in autf8string input, out boolean isascii); acstring convertutf8toace(in autf8string input); boolean isace(in acstring input); autf8string normalize(in autf8string input); methods convertacetoutf8() converts an ace (as...
nsIIFrameBoxObject
inherits from: nsicontainerboxobject last changed in gecko 1.9 (
firefox 3) the boxobject belonging to a xul iframe element implements this interface.
nsIINIParser
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) typically, you'll create an nsiiniparser object by calling nsiiniparserfactory.createiniparser().
nsIINIParserFactory
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) see example for how to use this interface.
nsIINIParserWriter
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) this interface provides methods that allow writing to ini-format configuration files.
nsIIdleService
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 16 (
firefox 16 / thunderbird 16 / seamonkey 2.13) you can get the idle time directly, but in most cases you will want to register an observer for a predefined interval.
nsIInProcessContentFrameMessageManager
1.0 66 introduced gecko 2.0 inherits from: nsicontentframemessagemanager last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsicontent getownercontent(); violates the xpcom interface guidelines methods violates the xpcom interface guidelines getownercontent() nsicontent getownercontent(); parameters none.
nsIInputStream
inherits from: nsisupports last changed in gecko 17.0 (
firefox 17.0 / thunderbird 17.0 / seamonkey 2.14) an input stream may be "blocking" or "non-blocking" (see the isnonblocking() method).
nsIJSID
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) the following methods return objects that implement this interface: components.interfaces.name components.classes[contract] components.interfacesbyid[uuid] components.classesbyid[cid] the first two cases create a named jsid while the last two cases create an unnamed jsid.
nsIJetpack
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void sendmessage(in astring amessagename /* [optional] in jsval v1, [optional] in jsval v2, ...
nsIJetpackService
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/jetpack/service;1.
nsIJumpListBuilder
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) jump lists are built and then applied.
nsIJumpListItem
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: to consumers: it's reasonable to expect we'll need support for other types of jump list items (an audio file, an email message, etc.).
nsILivemarkService
1.0 66 introduced gecko 1.8 obsolete gecko 22.0 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) this interface is obsolete.
nsILoginInfo
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports implemented by: @mozilla.org/login-manager/logininfo;1.
nsILoginManager
toolkit/components/passwordmgr/public/nsiloginmanager.idlscriptable used to interface with the built-in password manager 1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) replaces nsipasswordmanager which was used in older versions of gecko.
nsILoginManagerCrypto
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview astring decrypt(in astring ciphertext); astring encrypt(in astring plaintext); attributes attribute type description isloggedin boolean current login state of the token used for encryption.
nsILoginManagerIEMigrationHelper
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void migrateandaddlogin(in nsilogininfo alogin); methods migrateandaddlogin() takes a login provided from nsieprofilemigrator, migrates it to the current login manager format, and adds it to the list of stored logins.
nsILoginManagerPrompter
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/login-manager/prompter;1.
nsILoginManagerStorage
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) for example, if you wish to provide operating system integration with a native password manager system, implementing and registering a storage module for the login manager is how you do it.
nsILoginMetaInfo
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) you can specifically modify these values by passing changes into nsiloginmanager.modifylogin() using an nsipropertybag2 object as the input.
nsIMarkupDocumentViewer
inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) method overview void scrolltonode(in nsidomnode node); void sizetocontent(); attributes attribute type description allowplugins boolean if true, plugins are allowed within the doc shell.
nsIMemoryMultiReporter
1.0 66 introduced gecko 7.0 inherits from: nsisupports last changed in gecko 12.0 (
firefox 12.0 / thunderbird 12.0 / seamonkey 2.9) if you want to gather multiple measurements in a single operation (such as a single traversal of a large data structure), you can use a multi-reporter to do so.
nsIMemoryMultiReporterCallback
1.0 66 introduced gecko 7.0 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) method overview void callback(in acstring process, in autf8string path, in print32 kind, in print32 units, in print64 amount, in autf8string description, in nsisupports closure); methods callback() called to provide information from a multi-reporter.
nsIMemoryReporterManager
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by @mozilla.org/memory-reporter-manager;1 as a service: var reportermanager = components.classes["@mozilla.org/memory-reporter-manager;1"] .getservice(components.interfaces.nsimemoryreportermanager); each memory reporter object, which implements nsimemoryreporter interface, provides information for a given code area.
nsIMenuBoxObject
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) to get access to the box object for a given menu, use code like this: var boxobject = xulmenu.boxobject.queryinterface(components.interfaces.nsimenuboxobject); method overview boolean handlekeypress(in nsidomkeyevent keyevent); void openmenu(in boolean openflag); attributes attribute type description activechild nsidomelement the currently active menu or menuitem child of the menu box.
nsIMessageListenerManager
1.0 66 introduced gecko 17 inherits from: nsisupports last changed in gecko 41 (
firefox 41 / thunderbird 41 / seamonkey 2.38) implemented by: @mozilla.org/globalmessagemanager;1.
nsIMessageWakeupService
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: this service was introduced in gecko 5.0 on
firefox for android, but was not provided on desktop until gecko 13.0 (
firefox 13).
nsIMicrosummary
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void addobserver(in nsimicrosummaryobserver observer); boolean equals(in nsimicrosummary aother); void removeobserver(in nsimicrosummaryobserver observer); void update(); attributes attribute type description content astring the content of the microsummary.
nsIMicrosummaryObserver
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void oncontentloaded(in nsimicrosummary microsummary); void onelementappended(in nsimicrosummary microsummary); void onerror(in nsimicrosummary microsummary); methods oncontentloaded() called when an observed microsummary updates its content.
nsIMicrosummaryService
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) implemented by: @mozilla.org/microsummary/service;1 as a service: var microsummaryservice = components.classes["@mozilla.org/microsummary/service;1"] .getservice(components.interfaces.nsimicrosummaryservice); method overview void addgenerator(in nsiuri generatoruri); nsimicrosummary createmicrosummary(in nsiuri pageur...
nsIMicrosummarySet
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) warning: microsummary support was removed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void addobserver(in nsimicrosummaryobserver observer); nsisimpleenumerator enumerate(); void removeobserver(in nsimicrosummaryobserver observer); methods addobserver() add a microsummary observer to this microsummary set.
nsIMsgCustomColumnHandler
last changed in gecko 1.9 (
firefox 3) inherits from: nsitreeview this interface is meant to be implemented by extensions, as shown in the tutorial.
nsIMsgDBViewCommandUpdater
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports in thunderbird this is implemented for different windows in several different places: nsmsgdbviewcommandupdater (for the standalone message window) nsmsgdbviewcommandupdater (for the threadpane message window) nsmsgsearchcommandupdater (for search dialogs) method overview void updatecommandstatus(); void displaymessagechanged(in nsimsgfolder afolder, in astring asubject, in acstring akeywords); void updatenextmessageafterdelete(); methods updatecommandstatus() called when the number of selected items changes.
nsIMsgDatabase
last changed in gecko 1.9 (
firefox 3) inherits from: nsidbchangeannouncer method overview void open(in nsilocalfile afoldername, in boolean acreate, in boolean aleaveinvaliddb); void forcefolderdbclosed(in nsimsgfolder afolder); void close(in boolean aforcecommit); void commit(in nsmsgdbcommit committype); void forceclosed(); void clearcachedhdrs; void resethdrcachesize(in unsigned long size); nsimsgdbhdr getmsghdrforkey(in nsmsgkey key); nsimsgdbhdr getmsghdrformessageid(in string messageid); boolean containskey(in nsmsgkey key); nsimsgdbhdr createnewhdr(in nsmsgkey key);...
nsIMsgWindow
inherits from: nsisupports last changed in gecko 8 (
firefox 8 / thunderbird 8 / seamonkey 2.5) implemented by: @mozilla.org/messenger/msgwindow;1.
nsIMsgWindowCommands
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) the javascript implementation of this used by thunderbird is given here.
nsIMutableArray
inherits from: nsiarray last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) consumers of nsiarray should not queryinterface to nsimutablearray unless they own the array.
nsINavHistoryBatchCallback
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void runbatched(in nsisupports auserdata); methods runbatched() void runbatched( in nsisupports auserdata ); parameters auserdata see also nsinavhistoryservice.runinbatchmode() nsinavbookmarksservice.runinbatchmode() ...
nsINavHistoryContainerResultNode
1.0 66 introduced gecko 1.9 inherits from: nsinavhistoryresultnode last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsinavhistoryresultnode findnodebydetails(in autf8string auristring, in prtime atime, in long long aitemid, in boolean arecursive); nsinavhistoryresultnode getchild(in unsigned long aindex); unsigned long getchildindex(in nsinavhistoryresultnode anode); attributes attribute type description childcount unsigned long the number of child node...
nsINavHistoryFullVisitResultNode
1.0 66 introduced gecko 1.9 inherits from: nsinavhistoryvisitresultnode last changed in gecko 1.9 (
firefox 3) the information returned in this interface is not commonly used, hence its separation into a separate query type for efficiency.
nsINavHistoryQuery
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) the nsinavhistoryquery is not intended to be a super-general query mechanism.
nsINavHistoryQueryOptions
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) method overview nsinavhistoryqueryoptions clone(); attributes attribute type description applyoptionstocontainers boolean if true, the query options are only applied to the containers.
nsINavHistoryQueryResultNode
1.0 66 introduced gecko 1.8 inherits from: nsinavhistorycontainerresultnode last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: if you request that places not be expanded in the options that generated the node, the node will report that it has no children and will never try to populate itself.
nsINavHistoryResult
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) places results use a model-view-controller (mvc) design pattern.
nsINavHistoryResultNode
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) attributes attribute type description accesscount unsigned long total number of times the uri has been accessed.
nsINavHistoryResultTreeViewer
1.0 66 introduced gecko 1.8 inherits from: nsinavhistoryresultobserver last changed in gecko 1.9 (
firefox 3) this object removes itself from the associated result when the tree is detached; this prevents circular references.
nsINavHistoryResultViewer
1.0 66 introduced gecko 1.9 obsolete gecko 2.0 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) obsolete since gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
nsINavHistoryVisitResultNode
1.0 66 introduced gecko 1.9 inherits from: nsinavhistoryresultnode last changed in gecko 1.9 (
firefox 3) attributes attribute type description sessionid long long the session id of the visit, used for session grouping when a tree view is sorted by date.
nsINetworkLinkService
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by: @mozilla.org/network/network-link-service;1 as a service: var networklinkservice = components.classes["@mozilla.org/network/network-link-service;1"] .getservice(components.interfaces.nsinetworklinkservice); attributes attribute type description islinkup boolean this is set to true when the system is believed to have a usable network connection.
nsIParentalControlsService
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) note: currently, this interface is only supported on microsoft windows vista and newer as well as android 4.3 and newer.
nsIPermission
last changed in gecko 2 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsisupports attributes attribute type description capability pruint32 the permission to set: allow, deny, or unknown (which is the default).
nsIPermissionManager
last changed in gecko 16 (
firefox 16 / thunderbird 16 / seamonkey 2.13) inherits from: nsisupports method overview void add(in nsiuri uri, in string type, in pruint32 permission, [optional] in pruint32 expiretype, [optional] in print64 expiretime); void addfromprincipal(in nsiprincipal principal, in string type, in pruint32 permission, [optional] in pruint32 expiretype, [optional] in print64 expiretime); void remove(in autf8string host, in string type); void removefromprincipal(in nsiprincipal p...
nsIPrefLocalizedString
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void setdatawithlength(in unsigned long length, [size_is(length)] in wstring data); wstring tostring(); attributes attribute type description data wstring provides access to string data stored in this property.
nsIProcess2
1.0 66 introduced gecko 1.9.1 obsolete gecko 1.9.2 inherits from: nsiprocess last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) gecko 1.9.2 note this interface was removed in gecko 1.9.2 and its method added to nsiprocess.
nsIProfile
however, it hasn't been used in
firefox since before
firefox 1.0.
nsIProfileLock
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void unlock(); attributes attribute type description directory nsilocalfile the main profile directory.
nsIProfileUnlocker
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void unlock(in unsigned long aseverity); constants constant value description attempt_quit 0 politely ask the process currently holding the profile's lock to quit.
nsIPrompt
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) note: this interface is identical to nsipromptservice but without the parent nsidomwindow parameter.
nsIPropertyBag
ozconnection:mozconnection mozcontacts:contactmanager mozid:null mozkeyboard:xpcwrappednative_nohelper mozpay:null mozpermissionsettings:null mozphonenumberservice:phonenumberservice mozpower:mozpowermanager moztcpsocket:null online:true oscpu:"windows nt 5.1" platform:"win32" plugins:pluginarray product:"gecko" productsub:"20100101" useragent:"mozilla/5.0 (windows nt 5.1; rv:30.0) gecko/20100101
firefox/30.0" vendor:"" vendorsub:"" __proto__:navigatorprototype from here we can easily see the operating system version.
nsIProtocolProxyCallback
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void onproxyavailable(in nsicancelable arequest, in nsiuri auri, in nsiproxyinfo aproxyinfo, in nsresult astatus); methods onproxyavailable() this method is called when proxy info is available or when an error in the proxy resolution occurs.
nsIProtocolProxyFilter
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) this interface is used to apply filters to the proxies selected for a given uri.
nsIProxyInfo
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports attributes attribute type description failoverproxy nsiproxyinfo this attribute specifies the proxy to failover to when this proxy fails.
nsIPushMessage
inherits from: nsisupports last changed in gecko 46.0 (
firefox 46.0 / thunderbird 46.0 / seamonkey 2.43) nsipushmessage is the subject of a push-message observer notification.
nsIRadioInterfaceLayer
1.0 66 introduced gecko 12.0 inherits from: nsisupports last changed in gecko 14.0 (
firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) implemented by: @mozilla.org/telephony/system-worker-manager;1.
nsIRandomGenerator
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void generaterandombytes(in unsigned long alength, [retval, array, size_is(alength)] out octet abuffer); methods generaterandombytes() generates the specified amount of random bytes.
nsIRequest
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) for example nsichannel typically passes itself as the nsirequest argument to the nsistreamlistener on each onstartrequest, ondataavaliable, and onstoprequest invocation.
nsISHEntry
inherits from: nsihistoryentry last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) implemented by: @mozilla.org/browser/session-history-entry;1.
nsISHistory
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) in an embedded browser environment, the nsiwebbrowser object creates an instance of session history for each open window.
nsISSLErrorListener
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) note: the recipient of this ssl status notification should not block.
nsISSLSocketControl
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void proxystartssl(); void starttls(); attributes attribute type description forcehandshake boolean obsolete since gecko 1.9 notificationcallbacks nsiinterfacerequestor methods proxystartssl() starts an ssl proxy connection.
nsIScreenManager
66 introduced gecko 0.9.5 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/gfx/screenmanager;1 as a service: var screenmanager = components.classes["@mozilla.org/gfx/screenmanager;1"] .getservice(components.interfaces.nsiscreenmanager); method overview nsiscreen screenfornativewidget( in voidptr nativewidget ); native code only!
nsIScriptableIO
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports a scriptable io object can be used in an extension or chrome code by referring to the global io object.
nsIScriptableInputStream
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview unsigned long available(); void close(); void init(in nsiinputstream ainputstream); string read(in unsigned long acount); acstring readbytes(in unsigned long acount); methods available() return the number of bytes currently available in the stream.
nsIScriptableUnescapeHTML
1.0 66 introduced gecko 1.8 obsolete gecko 14.0 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) note: as of
firefox 14, this interface is obsolete (but still available for compatibility with legacy extensions) and all its functionality is available with more configuration options via the nsiparserutils interface.
nsIScriptableUnicodeConverter
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by: @mozilla.org/intl/scriptableunicodeconverter.
nsISearchEngine
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports method overview void addparam(in astring name, in astring value, in astring responsetype); nsisearchsubmission getsubmission(in astring data, [optional] in astring responsetype, [optional] in astring purpose); boolean supportsresponsetype(in astring responsetype); attributes attribute type description alias astring an optional shortcut alias for the engine.
nsISearchSubmission
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description postdata nsiinputstream the post data associated with a search submission, wrapped in a mime input stream.
nsISelection
inherits from: nsisupports last changed in gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) interface for manipulating and querying the current selected range of nodes within the document.
nsISelection2
1.0 66 introduced gecko 1.8 obsolete gecko 8.0 inherits from: nsiselection last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) in gecko 8.0 this interface was merged into the nsiselectionprivate interface.
nsISelection3
1.0 66 introduced gecko 2.0 obsolete gecko 8.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) in gecko 8.0 this interface was merged into the nsiselection interface.
nsISmsService
dom/sms/interfaces/nsismsservice.idlscriptable used to send sms text messages for the websms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (
firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/sms/smsservice;1.
nsISocketProvider
inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) implemented by: @mozilla.org/network/socket;2?type=foo.
nsISocketTransport
inherits from: nsitransport last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) note: connection setup is triggered by opening an input or output stream, it does not start on its own.
nsISound
inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) warning: this interface should not be used to play custom sounds in modern code.
nsIStandardURL
inherits from: nsimutable last changed in gecko 1.9 (
firefox 3) implemented by: @mozilla.org/network/standard-url;1.
nsIStructuredCloneContainer
1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) you can copy an object into an nsistructuredclonecontainer using initfromvariant() or initfrombase64().
nsIStyleSheetService
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports implemented by: @mozilla.org/content/style-sheet-service;1.
nsISupportsPriority
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) this interface does not strictly define what happens when the priority of an object is changed.
nsISyncJPAKE
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void final(in acstring ab, in acstring agvb, in acstring arb, in acstring ahkdfinfo, out acstring aaes256key, out acstring ahmac256key); void round1(in acstring asignerid, out acstring agx1, out acstring agv1, out acstring ar1, out acstring agx2, out acstring agv2, out acstring ar2); void round2(in acstring apeerid, in acstring apin, in acstring agx3, in acstring agv3, in acstring ar3, in acstring agx4, in acstring agv4, in acstring ar4, out acstring aa, out acstring agva, out acstring ara); methods final() perform the fina...
nsITXTToHTMLConv
inherits from: nsistreamconverter last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by "@mozilla.org/streamconv;1?from=text/plain&to=text/html".
nsITaggingService
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/browser/tagging-service;1.
nsITaskbarPreview
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) you can not directly instantiate this interface.
nsITaskbarPreviewButton
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) you can't directly instantiate this interface.
nsITaskbarPreviewController
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) clients should provide their own implementation of this interface.
nsITaskbarProgress
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void setprogressstate(in nstaskbarprogressstate state, in unsigned long long currentvalue optional, in unsigned long long maxvalue optional); constants constant value description state_no_progress 0 stop displaying progress on the taskbar button.
nsITaskbarTabPreview
1.0 66 introduced gecko 1.9.2 inherits from: nsitaskbarpreview last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) tab preview support is disabled by default in gecko 1.9.2 creating an nsitaskbartabpreview for a window will automatically hide that window's nsitaskbarwindowpreview; this is done by windows and cannot be prevented.
nsITaskbarWindowPreview
1.0 66 introduced gecko 1.9.2 inherits from: nsitaskbarpreview last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) you can't directly instantiate this interface; instead, call nsiwintaskbar.gettaskbarwindowpreview() to get the taskbar preview for a specific window.
nsITelemetry
1.0 66 introduced gecko 6.0 inherits from: nsisupports last changed in gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) implemented by: @mozilla.org/base/telemetry;1 as a service: let telemetry = components.classes["@mozilla.org/base/telemetry;1"] .getservice(components.interfaces.nsitelemetry); method overview jsval gethistogrambyid(in acstring id); jsval snapshothistograms(in uint32_t adataset, in boolean asubsession, in boolean aclear); jsval getkeyedhistogrambyid(in acstring id); void capturestack(in acstring name); jsval sna...
nsITextInputProcessorCallback
dom/interfaces/base/nsitextinputprocessor.idlscriptable a callback interface for nsitextinputprocessor user 1.0 66 introduced gecko 38 inherits from: nsisupports last changed in gecko 38.0 (
firefox 38.0 / thunderbird 38.0 / seamonkey 2.35) nsitextinputprocessorcallback is defined for receiving requests and notifications to ime from gecko.
nsITextInputProcessorNotification
dom/interfaces/base/nsitextinputprocessorcallback.idlscriptable this interface of a request or notification to ime 1.0 66 introduced gecko 38 inherits from: nsisupports last changed in gecko 38.0 (
firefox 38.0 / thunderbird 38.0 / seamonkey 2.35) this interface tells details of a request or notification to ime.
nsIThread
last changed in gecko 1.9 (
firefox 3) inherits from: nsieventtarget method overview void shutdown() boolean haspendingevents() boolean processnextevent(in boolean maywait) attributes attribute type description prthread prthread the nspr thread object corresponding to the nsithread.
nsIThreadEventFilter
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview boolean acceptevent(in nsirunnable event);violates the xpcom interface guidelines methods violates the xpcom interface guidelines acceptevent() this method is called to determine whether or not an event may be accepted by a nested event queue.
nsIThreadInternal
last changed in gecko 1.9 (
firefox 3) inherits from: nsithread method overview void popeventqueue(); void pusheventqueue(in nsithreadeventfilter filter); attributes attribute type description observer nsithreadobserver get/set the current thread observer; set to null to disable observing.
nsIThreadManager
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview nsithread getthreadfromprthread(in prthread prthread); native code only!
nsIThreadObserver
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void afterprocessnextevent(in nsithreadinternal thread, in unsigned long recursiondepth); void ondispatchedevent(in nsithreadinternal thread); void onprocessnextevent(in nsithreadinternal thread, in boolean maywait, in unsigned long recursiondepth); methods afterprocessnextevent() called by the nsithread method nsithread.processnextevent() after an event is processed.
nsIThreadPool
1.0 66 introduced gecko 1.9 inherits from: nsieventtarget last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) a thread pool provides a convenient way to process events off the main thread.
nsIThreadPoolListener
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports method overview void onthreadcreated(); void onthreadshuttingdown(); methods onthreadcreated() called when a new thread is created by the thread pool.
nsITimer
last changed in gecko 5 (
firefox 5 / thunderbird 5 / seamonkey 2.2) inherits from: nsisupports implemented by: @mozilla.org/timer;1.
nsIToolkitProfile
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) you should not create these objects yourself; to obtain them, use the nsitoolkitprofileservice interface to create and obtain them.
nsITransferable
inherits from: nsisupports last changed in gecko 13.0 (
firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) implemented by: @mozilla.org/widget/transferable;1.
nsITransport
inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) this interface provides methods to open blocking or non-blocking, buffered or unbuffered streams to the resource.
nsITransportSecurityInfo
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) attributes attribute type description errormessage wstring error message on connection failure.
nsITreeBoxObject
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports to get the treeboxobject for a tree: let boxobject = tree.boxobject; boxobject.queryinterface("components.interfaces.nsitreeboxobject"); or simply: let boxobject = tree.treeboxobject; method overview long getfirstvisiblerow(); long getlastvisiblerow(); long getpagelength(); void ensurerowisvisible(in long index); void ensurecellisvisible(in long row, in nsitreecolumn col); void scrolltorow(in long index); ...
nsITreeColumn
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void getidconst([shared] out wstring idconst); native code only!
nsITreeColumns
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview nsitreecolumn getcolumnat(in long index); nsitreecolumn getcolumnfor(in nsidomelement element); nsitreecolumn getfirstcolumn(); nsitreecolumn getkeycolumn(); nsitreecolumn getlastcolumn(); nsitreecolumn getnamedcolumn(in astring id); nsitreecolumn getprimarycolumn(); nsitreecolumn getsortedcolumn(); void invalidatecolumns(); void restorenaturalorder(); attributes attribute type description count long the number of columns.
nsITreeSelection
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview void adjustselection(in long index, in long count); void clearrange(in long startindex, in long endindex); void clearselection(); void getrangeat(in long i, out long min, out long max); long getrangecount(); void invalidateselection(); void invertselection(); boolean isselected(in long index); void rangedselect(in long startindex, in long endindex, in boolean augment); void select(in long index); void selectall(); void timedselect(in long index, in lo...
nsIURI
inherits from: nsisupports last changed in gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) see the following rfcs for details: rfc3490: internationalizing domain names in applications (idna) rfc3986: uniform resource identifier (uri): generic syntax rfc3987: internationalized resource identifiers subclasses of nsiuri, such as nsiurl, impose further structure on the uri.
nsIURIFixup
inherits from: nsisupports last changed in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) implemented by: @mozilla.org/docshell/urifixup;1 as a service: var urifixup = components.classes["@mozilla.org/docshell/urifixup;1"] .createinstance(components.interfaces.nsiurifixup); method overview nsiuri createexposableuri(in nsiuri auri); nsiuri createfixupuri(in autf8string auritext, in unsigned long afixupflags); nsiuri keywordtouri(in autf8string akeyword); nsiurifixupinfo getfixupuriinfo(in autf8string auritext, in unsigned long afixupflags); constants constant value description ...
nsIURLFormatter
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) variable names can contain 'a-z' letters and '_' characters.
nsIURLParser
len authoritypos authoritylen pathpos pathlen parseuserinfo() userinfo = <username>:<password> void parseuserinfo( in string userinfo, in long userinfolen, out unsigned long usernamepos, out long usernamelen, out unsigned long passwordpos, out long passwordlen ); parameters userinfo userinfolen usernamepos usernamelen passwordpos passwordlen notes starting in gecko 9.0 (
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6), this no longer treats the semicolon as a "parameter string" marker.
nsIUUIDGenerator
1.0 66 introduced gecko 1.8.1 inherits from: nsisupports last changed in gecko 1.8.1 (
firefox 2 / thunderbird 2 / seamonkey 1.1) implemented by @mozilla.org/uuid-generator; as a service: var uuidgenerator = components.classes["@mozilla.org/uuid-generator;1"] .getservice(components.interfaces.nsiuuidgenerator); method overview nsidptr generateuuid(); void generateuuidinplace(in nsnonconstidptr id); native code only!
nsIUpdate
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsiupdatepatch getpatchat(in unsigned long index); nsidomelement serialize(in nsidomdocument updates); attributes attribute type description appversion astring the application version of this update.
nsIUpdateCheckListener
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void oncheckcomplete(in nsixmlhttprequest request, [array, size_is(updatecount)] in nsiupdate updates, in unsigned long updatecount); void onerror(in nsixmlhttprequest request, in nsiupdate update); void onprogress(in nsixmlhttprequest request, in unsigned long position, in unsigned long totalsize); methods oncheckcomplete() called when the update check is completed.
nsIUpdateChecker
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void checkforupdates(in nsiupdatechecklistener listener, in boolean force); void stopchecking(in unsigned short duration); constants constant value description current_check 1 constant for the stopchecking() method indicating that only the current update check should be stopped.
nsIUpdateItem
1.0 66 introduced gecko 1.8 obsolete gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface is obsolete; instead of using the extension manager, you should use the addon manager.
nsIUpdateManager
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview nsiupdate getupdateat(in long index); void saveupdates(); attributes attribute type description activeupdate nsiupdate an nsiupdate object describing the currently in use update.
nsIUpdatePatch
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsidomelement serialize(in nsidomdocument updates); attributes attribute type description finalurl astring the final url this patch was being downloaded from.
nsIUpdatePrompt
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void checkforupdates(); void showupdateavailable(in nsiupdate update); void showupdatedownloaded(in nsiupdate update, [optional] in boolean background); void showupdateerror(in nsiupdate update); void showupdatehistory(in nsidomwindow parent); void showupdateinstalled(); methods checkforupdates() presents a user interface that checks for and displays the available updates.
nsIUpdateTimerManager
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void registertimer(in astring id, in nsitimercallback callback, in unsigned long interval); methods registertimer() presents a user interface that checks for and displays the available updates.
nsIUploadChannel2
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void explicitsetuploadstream(in nsiinputstream astream, in acstring acontenttype, in long long acontentlength, in acstring amethod, in boolean astreamhasheaders); methods explicitsetuploadstream() sets a stream to be uploaded by this channel with the specified content-type and content-length header values.
nsIUrlListManagerCallback
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void handleevent(in acstring value); methods handleevent() void handleevent( in acstring value ); parameters value ...
nsIVariant
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview acstring getasacstring(); native code only!
nsIVersionComparator
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) version strings are dot-separated sequences of version-parts.
nsIWebBrowserChrome2
1.0 66 introduced gecko 1.9 inherits from: nsiwebbrowserchrome last changed in gecko 1.9 (
firefox 3) method overview void setstatuswithcontext(in unsigned long statustype, in astring statustext, in nsisupports statuscontext); methods setstatuswithcontext() called when the status text in the chrome needs to be updated.
nsIWebBrowserChrome3
1.0 66 introduced gecko 2.0 inherits from: nsiwebbrowserchrome2 last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview astring onbeforelinktraversal(in astring originaltarget, in nsiuri linkuri, in nsidomnode linknode, in prbool isapptab); methods onbeforelinktraversal() determines the appropriate target for a link.
nsIWebContentHandlerRegistrar
inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by @mozilla.org/embeddor.implemented/web-content-handler-registrar;1 as a service: var nsiwchr = cc["@mozilla.org/embeddor.implemented/web-content-handler-registrar;1"] .getservice(ci.nsiwebcontenthandlerregistrar); method overview void registercontenthandler(in domstring mimetype, in domstring uri, in domstring title, in nsidomwindow contentwindow) void registerprotocolhandler(in domstring protocol,i...
nsIWebNavigation
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) this interface is implemented by the following components: * @mozilla.org/browser/shistory-internal;1 * @mozilla.org/browser/shistory;1 * @mozilla.org/embedding/browser/nswebbrowser;1 * @mozilla.org/docshell;1 gecko 1.9.2 note in gecko 1.9.2 (
firefox 3.6), the @mozilla.org/webshell;1 component no longer exists; you need to use @mozilla.org/docshell;1 instead.
nsIWebNavigationInfo
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) implemented by: @mozilla.org/webnavigation-info;1 as a service: var webnavigationinfo = components.classes["@mozilla.org/webnavigation-info;1"] .getservice(components.interfaces.nsiwebnavigationinfo); method overview unsigned long istypesupported(in acstring atype, in nsiwebnavigation awebnav); constants support type constants constant value description unsupported 0 returned by istypesupported() to indicate lack of support for a ...
nsIWebProgressListener
inherits from: nsisupports last changed in gecko 15 (
firefox 15 / thunderbird 15 / seamonkey 2.12) nsiwebprogress describes the parent-child relationship of nsiwebprogress instances.
nsIWebProgressListener2
last changed in gecko 1.9 (
firefox 3) inherits from: nsiwebprogresslistener method overview void onprogresschange64(in nsiwebprogress awebprogress, in nsirequest arequest, in long long acurselfprogress, in long long amaxselfprogress, in long long acurtotalprogress, in long long amaxtotalprogress); boolean onrefreshattempted(in nsiwebprogress awebprogress, in nsiuri arefreshuri, in long amillis, in boolean asameuri); methods onprogresschange64() notification that the progress has changed for one of the requests associated with awebprogress.
nsIWebSocketChannel
1.0 66 introduced gecko 8.0 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by: ?????????????????????????????????????.
nsIWebSocketListener
1.0 66 introduced gecko 8.0 inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview void onacknowledge(in nsisupports acontext, in pruint32 asize); void onbinarymessageavailable(in nsisupports acontext, in acstring amsg); void onmessageavailable(in nsisupports acontext, in autf8string amsg); void onserverclose(in nsisupports acontext, in unsigned short acode, in autf8string areason); void onstart(in nsisupports acontext); void onstop(in nsisupports acontext, in nsresult a...
nsIWebappsSupport
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void installapplication(in wstring title, in wstring uri, in wstring iconuri, in wstring icondata); boolean isapplicationinstalled(in wstring uri); methods installapplication() this method installs a web application.
nsIWifiAccessPoint
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) attributes attribute type description mac acstring the wifi access point's mac address.
nsIWifiListener
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void onchange([array, size_is(alen)] in nsiwifiaccesspoint accesspoints, in unsigned long alen); void onerror(in long error); methods onchange() called when the list of available access points changes.
nsIWifiMonitor
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) this is used, for example, by geolocation to use wifi access points for location detection.
nsIWinAccessNode
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) method overview voidptr querynativeinterface([const] in mscomiidref aiid); methods querynativeinterface() voidptr querynativeinterface( [const] in mscomiidref aiid ); parameters aiid return value ...
nsIWinTaskbar
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) starting with windows 7, applications gain some control over their appearance in the taskbar.
nsIWindowMediator
inherits from: nsisupports last changed in gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) the two most common uses of nsiwindowmediator are, enumerating all windows of a given type and getting the most recent / any window of a given type.
nsIWindowsRegKey
1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) the interface represents a single key in the registry.
nsIWorker
1.0 66 introduced gecko 1.9.1 inherits from: nsiabstractworker last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) for usage details, see worker and the article using dom workers.
nsIWorkerFactory
dom/interfaces/threads/nsidomworkers.idlscriptable creates and returns a new worker 1.0 66 introduced gecko 2.0 obsolete gecko 8.0 inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface was removed in gecko 8.0.
nsIWorkerGlobalScope
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) attributes attribute type description location nsiworkerlocation read only.
nsIWorkerMessageEvent
1.0 66 introduced gecko 1.9.1 inherits from: nsidomevent last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void initmessageevent(in domstring atypearg, in boolean acanbubblearg, in boolean acancelablearg, in domstring adataarg, in domstring aoriginarg, in nsisupports asourcearg); attributes attribute type description data domstring the event's data.
nsIWorkerMessagePort
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void postmessage(in domstring amessage); methods postmessage() posts a message into the event queue.
nsIWorkerScope
1.0 66 introduced gecko 1.9.1 inherits from: nsiworkerglobalscope last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void postmessage(in domstring amessage, [optional] in nsiworkermessageport amessageport); void close(); attributes attribute type description onclose nsidomeventlistener a listener object to be called when the worker stops running.
nsIWritablePropertyBag
1.0 66 introduced gecko 1.8 inherits from: nsipropertybag last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void deleteproperty(in astring name); void setproperty(in astring name, in nsivariant value); methods deleteproperty() delete a property with the given name.
nsIWritablePropertyBag2
1.0 66 introduced gecko 1.8 inherits from: nsipropertybag2 last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void setpropertyasacstring(in astring prop, in acstring value); void setpropertyasastring(in astring prop, in astring value); void setpropertyasautf8string(in astring prop, in autf8string value); void setpropertyasbool(in astring prop, in boolean value); void setpropertyasdouble(in astring prop, in double value); void setpropertyasint32(in astring prop, in print32 value); void setpropertyasint64(in astring prop, in print64 value); ...
nsIXFormsModelElement
1.0 66 introduced gecko 1.8 obsolete gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview nsidomdocument getinstancedocument(in domstring instanceid); void rebuild(); void recalculate(); void refresh(); void revalidate(); methods getinstancedocument() nsidomdocument getinstancedocument( in domstring instanceid ); parameters instanceid the id of the instance element to be returned.
nsIXFormsNSInstanceElement
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) interface code [scriptable, uuid(80669b92-8331-4f92-aaf8-06e80e6827b3)] interface nsixformsnsinstanceelement : nsisupports { nsidomdocument getinstancedocument(); }; methods getinstancedocument nsidomdocument getinstancedocument(); getinstancedocument returns a dom document that corresponds to the instance data associated with the instance element.
nsIXFormsNSModelElement
last changed in gecko 1.8 (
firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) interface code [scriptable, uuid(85fd60c7-1db7-40c0-ae8d-f723fdd1eea8)] interface nsixformsnsmodelelement : nsisupports { nsidomnodelist getinstancedocuments(); }; methods getinstancedocuments nsidomnodelist getinstancedocuments(); getinstancedocuments returns a nsidomnodelist containing all the instance documents for the model, making it possible to enumerate over instances in the model without knowing their names.
nsIXMLHttpRequest
obsolete since gecko 60 (
firefox 60 / thunderbird 60 / seamonkey 2.57)this feature is obsolete.
nsIXMLHttpRequestEventTarget
1.0 66 introduced gecko 1.9.1 inherits from: nsidomeventtarget last changed in gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) attributes attribute type description onabort nsidomeventlistener a javascript function object that gets invoked if the operation is canceled by the user.
nsIXMLHttpRequestUpload
1.0 66 introduced gecko 1.9.1 inherits from: nsidomeventtarget last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) attributes attribute type description onabort nsidomeventlistener onerror nsidomeventlistener onload nsidomeventlistener onloadstart nsidomeventlistener onprogress nsidomeventlistener see also nsixmlhttprequest nsixmlhttprequesteventtarget xmlhttprequest using xmlhttprequest ...
nsIXPCException
inherits from: nsiexception last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void initialize(in string amessage, in nsresult aresult, in string aname, in nsistackframe alocation, in nsisupports adata, in nsiexception ainner); xpcexjsval stealjsval(); native code only!
nsIXPCScriptable
last changed in gecko 1.9.1 (
firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) inherits from: nsisupports method overview void precreate(in nsisupports nativeobj, in jscontextptr cx, in jsobjectptr globalobj, out jsobjectptr parentobj); void create(in nsixpconnectwrappednative wrapper, in jscontextptr cx, in jsobjectptr obj); void postcreate(in nsixpconnectwrappednative wrapper, in jscontextptr cx, in jsobjectptr obj); prbool...
nsIXSLTProcessorObsolete
obsolete since gecko 6.0 (
firefox 6.0 / thunderbird 6.0 / seamonkey 2.3)this feature is obsolete.
nsIXULBrowserWindow
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) the xulbrowserwindow attribute exists on the nsixulwindow interface although both
firefox and seamonkey also store their nsixulbrowserwindow reference in the global xulbrowserwindow object accessible from javascript code.
nsIXULTemplateBuilder
last changed in gecko 1.9 (
firefox 3) inherits from: nsisupports method overview void rebuild(); void refresh(); void addresult(in nsixultemplateresult aresult, in nsidomnode aquerynode); void removeresult(in nsixultemplateresult aresult); void replaceresult(in nsixultemplateresult aoldresult, in nsixultemplateresult anewresult, in nsidomnode aquerynode); void resultbindingchanged(in nsixultemplateresult aresult); ...
nsIXULTemplateQueryProcessor
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) a query processor takes a template query and generates results for it given a datasource and a reference point.
nsIXULTemplateResult
1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) each result is identified by an id, which must be unique within the set of results produced from a query.
nsIXULWindow
inherits from: nsisupports last changed in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) an nsixulwindow is created as part of the creation of a top-level chrome window.
nsIZipEntry
inherits from: nsisupports last changed in gecko 1.9 (
firefox 3) attributes attribute type description compression unsigned short the type of compression used for the item.
nsIZipReaderCache
inherits from: nsisupports last changed in gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7) implemented by: @mozilla.org/libjar/zip-reader-cache;1.
nsPIPromptService
inherits from: nsisupports last changed in gecko 1.9.2 (
firefox 3.6 / thunderbird 3.1 / fennec 1.0) implemented by: the contract id isn't defined.
nsICookie2 MOZILLA 1 8 BRANCH
last changed in gecko 1.9 (
firefox 3) inherits from: nsicookie2 attributes attribute type description ishttponly boolean holds true if the cookie is an http only cookie.
Theme Packaging
this document describes only how themes are packaged in order to be shown in
firefox's themes window.
Tips and Tricks from the newsgroups
extensions load an extension in its own tab run shell scripts from an extension (for example, to create a symlink) get extension metadata call java from thunderbird extensions (also an example here, written for
firefox but compatible with thunderbird 3.x) define a custom protocol handler to call an external program save attachment and send it repeat image display using css sprites messages use reminderfox to open a message in the default thunderbird message window (when messageuri, folderuri and gdbview are unknown) determine whether a message has been flagged as junk imap: getting ...
Thunderbird extensions
there are similarities with
firefox extensions, but there are also differences that may confound the starting thunderbird developer.
Thunderbird
thunderbird is built on the same technical platform as the
firefox web browser.
Using the Mozilla source server
the nightly debug builds are now also source indexed so that by following a couple of simple steps you can also have the source code served to you for debugging without a local build what you'll need windbg or visual studio (note: express editions will not work, but windbg is a free download) a nightly build that was created after april 15, 2008; go to the /pub/
firefox/nightly/latest-mozilla-central/ folder and grab the installer for builds predating the switch to mercurial, you'll need cvs.exe, added to your path (the cvs.exe from mozillabuild has problems, use this one instead) note: do not use the cvs from mozillabuild, it will not work!
XPI
see updating extensions for
firefox 4 for details.
Library
the syntax for this is seen in
firefox codebase here: //github.com/realityripple/uxp/blob/master/js/src/ctypes/library.cpp?offset=0#271 this shows that we can also supply only two arguments to the declare function.
URLs - Plugins
warning: in gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1), npn_geturlnotify() does not notify the plug-in if notifydata is null.
Preferences System
example: var features = "chrome,titlebar,toolbar,centerscreen,modal"; window.opendialog(url, "preferences", features); bugzilla the component for bugs in the preferences bindings (but not in
firefox/thunderbird options ui) is toolkit:preferences (file a bug list open bugs) ...
AbortSignal - Web APIs
current version of
firefox rejects the promise with a domexception you can find a full working example on github — see abort-api (see it running live also).
AudioContext.createMediaStreamDestination() - Web APIs
examples in the following simple example, we create a mediastreamaudiodestinationnode, an oscillatornode and a mediarecorder (the example will therefore only work in
firefox and chrome at this time.) the mediarecorder is set up to record information from the mediastreamdestinationnode.
AudioListener - Web APIs
note: although these methods are deprecated they are currently the only way to set the orientation and position in
firefox, internet explorer and safari.
AudioNode - Web APIs
slightly better performance: in both chrome and
firefox, the factory methods call the constructors internally.
CSSOMString - Web APIs
implementation differences browser domstring or usvstring for cssomstring
firefox (gecko) usvstring chrome (blink) usvstring safari (webkit) usvstring edge (edgehtml) - opera (blink) usvstring specifications specification status comment css object model (cssom)the definition of 'cssomstring' in that specification.
Managing screen orientation - Web APIs
locking the screen orientation warning: this api is experimental and currently available on
firefox os and
firefox for android with a moz prefix, and for internet explorer on windows 8.1 and above with a ms prefix.
CacheStorage - Web APIs
those that aren't using https, although this definition will likely become more complex in the future.) when testing, you can get around this by checking the "enable service workers over http (when toolbox is open)" option in the
firefox devtools options/gear menu.
Drawing text - Web APIs
function draw() { var ctx = document.getelementbyid('canvas').getcontext('2d'); var text = ctx.measuretext('foo'); // textmetrics object text.width; // 16; } gecko-specific notes in gecko (the rendering engine of
firefox,
firefox os and other mozilla based applications), some prefixed apis were implemented in earlier versions to draw text on a canvas.
Clients.matchAll() - Web APIs
in chrome 46/
firefox 54 and later, this method returns clients in most recently focused order, correct as per spec.
Clipboard.read() - Web APIs
unable to access it."); } else { const blob = data.items[i].gettype("image/png"); imgelem.src = url.createobjecturl(blob); } } }); } }); note: at this time, while
firefox does implement read(), it does not recognize the "clipboard-read" permission, so attempting to use the permissions api to manage access to the api will not work.
CloseEvent - Web APIs
the only permitted codes to be specified in
firefox are 1000 and 3000 to 4999 [source, bug].
Console.group() - Web APIs
using groups in the console requires gecko 9.0(
firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) you can use nested groups to help organize your output by visually associating related messages.
console.log() - Web APIs
please be warned that if you log objects in the latest versions of chrome and
firefox what you get logged on the console is a reference to the object, which is not necessarily the 'value' of the object at the moment in time you call console.log(), but it is the value of the object at the moment you open the console.
Console.table() - Web APIs
note that (in
firefox) console.table is limited to displaying 1000 rows (first row is the labeled index).
Console.warn() - Web APIs
note: this feature is available in web workers.note: in chrome and
firefox, warnings have a small exclamation point icon next to them in the web console log.
Constraint validation API - Web APIs
note:
firefox supported a proprietary error attribute — x-moz-errormessage — for many versions, which allowed you set custom error messages in a similar way.
CrashReportBody - Web APIs
some sample json might look like this: { "type": "crash", "age": 42, "url": "https://example.com/", "user_agent": "mozilla/5.0 (x11; linux x86_64; rv:60.0) gecko/20100101
firefox/60.0", "body": { "reason": "oom" } } note: crash reports are always delivered to the endpoint group named default; there is currently no way to override this.
DataTransfer.files - Web APIs
example there are two live examples of this interface:
firefox only: http://jsfiddle.net/9c2ef/ all browsers: https://jsbin.com/hiqasek/ specifications specification status comment html living standardthe definition of 'files' in that specification.
Document.adoptNode() - Web APIs
best practice: although
firefox doesn't currently enforce this rule, we encourage you to follow this rule for improved future compatibility.
Document.alinkColor - Web APIs
syntax var color = document.alinkcolor; document.alinkcolor = color; color is a string containing the name of the color (e.g., blue, darkblue, etc.) or the hexadecimal value of the color (e.g., #0000ff) notes the default value for this property in mozilla
firefox is red (#ee0000 in hexadecimal).
Document.bgColor - Web APIs
example document.bgcolor = "darkblue"; notes the default value for this property in
firefox is white (#ffffff in hexadecimal).
Document.characterSet - Web APIs
users can override the developer-specified encoding inside the content-type header or inline like <meta charset="utf-8">, such as with
firefox's view → text encoding menu.
Document.cookie - Web APIs
notes starting with
firefox 2, a better mechanism for client-side storage is available - whatwg dom storage.
Document.createDocumentFragment() - Web APIs
html <ul id="ul"> </ul> javascript var element = document.getelementbyid('ul'); // assuming ul exists var fragment = document.createdocumentfragment(); var browsers = ['
firefox', 'chrome', 'opera', 'safari', 'internet explorer']; browsers.foreach(function(browser) { var li = document.createelement('li'); li.textcontent = browser; fragment.appendchild(li); }); element.appendchild(fragment); result specifications specification status comment domthe definition of 'document.createdocumentfragment()' in that specification.
SharedWorker() - Web APIs
although gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7) and later accept data uris, that's not the case in all other browsers.
SpeechRecognition.onnomatch - Web APIs
note: the onnomatch handler does not yet work properly in
firefox — the speech recognition system always returns a positive match, and then guesses at what item in the grammar it found.
SpeechSynthesis.onvoiceschanged - Web APIs
}; examples this could be used to populate a list of voices that the user can choose between when the event fires (see our speak easy synthesis demo.) note that
firefox doesn't support it at present, and will just return a list of voices when speechsynthesis.getvoices() is fired.
Using readable streams - Web APIs
browser support you can consume fetch body objects as streams and create your own custom readable streams in
firefox 65+ and chrome 42+ (and equivalent chromium-based browsers).
Stylesheet.href - Web APIs
this property is read-only in
firefox, opera, google chrome, and safari, and it is read/write in internet explorer.
TextDecoder() - Web APIs
nese", "csgb2312", "csiso58gb231280", "gb2312", "gb_2312", "gb_2312-80", "gbk", "iso-ir-58", "x-gbk" 'gbk' "gb18030" 'gb18030' "hz-gb-2312" 'hz-gb-2312' "big5", "big5-hkscs", "cn-big5", "csbig5", "x-x-big5" 'big5' "cseucpkdfmtjapanese", "euc-jp", "x-euc-jp" 'euc-jp' "csiso2022jp", "iso-2022-jp" note:
firefox used to accept iso-2022-jp-2 sequences silently when an iso-2022-jp decoder was instantiated, however this was removed in version 56 to simplify the api, as no other browsers support it and no pages seem to use it.
TextRange - Web APIs
according to the standard, a window / document may have multiple non adjacent selection, but only
firefox can select multiple ranges through ctrl; generally, only one selected textrange is allowed in ie.
Using Touch Events - Web APIs
the implementation status of pointer events in browsers is relatively high with chrome,
firefox, ie11 and edge having complete implementations.
Touch events - Web APIs
this behavior is not well defined in the touch events spec and results in different behavior for different browsers (i.e., ios will prevent zooming but still allow panning with both fingers; android will allow zooming but not panning; opera and
firefox currently prevent all panning and zooming.) currently, it's not recommended to depend on any particular behavior in this case, but rather to depend on meta viewport to prevent zooming.
URLSearchParams.set() - Web APIs
you can copy and paste the example in a code environment like codepen, jsfiddle, or the multi-line javascript interpreter in
firefox.
UserDataHandler - Web APIs
obsolete since gecko 26 (
firefox 26 / thunderbird 26 / seamonkey 2.23 /
firefox os 1.2)this feature is obsolete.
Animating textures in WebGL - Web APIs
const texture = inittexture(gl); const video = setupvideo('
firefox.mp4'); var then = 0; // draw the scene repeatedly function render(now) { now *= 0.001; // convert to seconds const deltatime = now - then; then = now; if (copyvideo) { updatetexture(gl, texture, video); } drawscene(gl, programinfo, buffers, texture, deltatime); requestanimationframe(render); } requestanimationframe(render); that's all there is t...
Using WebGL extensions - Web APIs
the feature flags are: webgl.enable-draft-extensions in
firefox chrome://flags/#enable-webgl-draft-extensions in chromium based browsers (chrome, opera).
WebRTC API - Web APIs
see also mediadevices mediastreamevent mediastreamconstraints mediastreamtrack messageevent mediastream media capture and streams api
firefox multistream and renegotiation for jitsi videobridge peering through the webrtc fog with socketpeer inside the party bus: building a web app with multiple live video streams + interactive graphics web media technologies ...
WebSocket.close() - Web APIs
note: in gecko, this method didn't support any parameters prior to gecko 8.0 (
firefox 8.0 / thunderbird 8.0 / seamonkey 2.5).
Movement, orientation, and motion: A WebXR example - Web APIs
location(shaderprogram, 'uprojectionmatrix'), modelviewmatrix: gl.getuniformlocation(shaderprogram, 'umodelviewmatrix'), normalmatrix: gl.getuniformlocation(shaderprogram, 'unormalmatrix'), usampler: gl.getuniformlocation(shaderprogram, 'usampler') }, }; buffers = initbuffers(gl); texture = loadtexture(gl, 'https://cdn.glitch.com/a9381af1-18a9-495e-ad01-afddfd15d000%2f
firefox-logo-solid.png?v=1575659351244'); xrsession.updaterenderstate({ baselayer: new xrwebgllayer(xrsession, gl) }); if (session_type == "immersive-vr") { refspacetype = "local"; } else { refspacetype = "viewer"; } mat4.fromtranslation(cubematrix, viewerstartposition); vec3.copy(cubeorientation, viewerstartorientation); xrsession.requestreferencespace(refspacetype) .t...
Web Animations API Concepts - Web APIs
the internet explorer team requested an animations api to consolidate and normalize animation functionality across all browsers, and thus efforts began in earnest among mozilla
firefox and google chrome developers to create the one animation spec to rule them all: the web animations api.
Using the Web Storage API - Web APIs
here is a function that detects whether localstorage is both supported and available: function storageavailable(type) { var storage; try { storage = window[type]; var x = '__storage_test__'; storage.setitem(x, x); storage.removeitem(x); return true; } catch(e) { return e instanceof domexception && ( // everything except
firefox e.code === 22 || //
firefox e.code === 1014 || // test name field too, because code might not be present // everything except
firefox e.name === 'quotaexceedederror' || //
firefox e.name === 'ns_error_dom_quota_reached') && // acknowledge quotaexceedederror only if there's something already...
Window.applicationCache - Web APIs
important: application cache is deprecated as of
firefox 44, and is no longer available in insecure contexts from
firefox 60 onwards (bug 1354175, currently nightly/beta only).
Window.resizeBy() - Web APIs
creating and resizing an external window for security reasons, it's no longer possible in
firefox for a website to change the default size of a window in a browser if the window wasn’t created by window.open(), or contains more than one tab.
Window - Web APIs
since
firefox 57 (initially nightly-only), both versions are only available from chrome (privileged) code, and not available to the web anymore.
WindowEventHandlers.onbeforeunload - Web APIs
window.addeventlistener('beforeunload', function (e) { // cancel the event e.preventdefault(); // if you prevent default behavior in mozilla
firefox prompt will always be shown // chrome requires returnvalue to be set e.returnvalue = ''; }); guarantee the browser unload by removing the returnvalue property of the event window.addeventlistener('beforeunload', function (e) { // the absence of a returnvalue property on the event will guarantee the browser unload happens delete e['returnvalue']; }); notes when your page uses javascri...
WindowOrWorkerGlobalScope.setInterval() - Web APIs
example: var intervalid = setinterval(function(arg1) {}.bind(undefined, 10), 1000); inactive tabs requires gecko 5.0(
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) starting in gecko 5.0 (
firefox 5.0 / thunderbird 5.0 / seamonkey 2.2), intervals are clamped to fire no more often than once per second in inactive tabs.
Worker() - Web APIs
though gecko 10.0 (
firefox 10.0 / thunderbird 10.0 / seamonkey 2.7) and later accept data uris, that's not the case in all other browsers.
Worker - Web APIs
(fetch is also available, with no such restrictions.) in
firefox extensions, if you want to use workers with access to js-ctypes, use chromeworker object instead.
WorkerGlobalScope.location - Web APIs
note:
firefox has a bug with using console.log inside shared/service workers (see bug 1058644), which may return strange results, but this should be fixed soon.
WorkerGlobalScope.performance - Web APIs
note:
firefox has a bug with using console.log inside shared/service workers (see bug 1058644), which may return strange results, but this should be fixed soon.
Synchronous and asynchronous requests - Web APIs
synchronous request note: starting with gecko 30.0 (
firefox 30.0 / thunderbird 30.0 / seamonkey 2.27), blink 39.0, and edge 13, synchronous requests on the main thread have been deprecated due to their negative impact on the user experience.
Using XMLHttpRequest in IE6 - Web APIs
in all modern browsers, you can create a new xmlhttprequest object using the following code: var request = new xmlhttprequest() however, if you need to also support internet explorer 6 and older, you need to extend your code like this: if (window.xmlhttprequest) { //
firefox, opera, ie7, and other browsers will use the native object var request = new xmlhttprequest(); } else { //ie 5 and 6 will use the activex control var request = new activexobject("microsoft.xmlhttp"); } see also using xmlhttprequest ...
XMLHttpRequest.onreadystatechange - Web APIs
examples const xhr = new xmlhttprequest(), method = "get", url = "https://developer.mozilla.org/"; xhr.open(method, url, true); xhr.onreadystatechange = function () { // in local files, status is 0 upon success in mozilla
firefox if(xhr.readystate === xmlhttprequest.done) { var status = xhr.status; if (status === 0 || (status >= 200 && status < 400)) { // the request has been completed successfully console.log(xhr.responsetext); } else { // oh no!
How to file ARIA-related bugs - Accessibility
ons, and feedback (email) non visual desktop access (nvda) file nvda bugs discuss nvda issues browsers apple safari file webkit.org bugs google chrome file chromium bugs microsoft internet explorer file ie bugs microsoft edge file ms edge bugs view existing ms edge aria bugs mozilla
firefox file
firefox bugs use component: disability access apis opera file opera bugs use [aria] in the summary field js libraries dojo toolkit file dojo bug put accessibility in the component field yahoo user interface file yui bugs file against specific component in category combobox and include aria in summary field ...
ARIA - Accessibility
live regions are also supported by nvda with
firefox, and voiceover with safari.
An overview of accessible web applications and widgets - Accessibility
--> <div id="ch1panel" role="tabpanel" aria-labelledby="ch1tab">chapter 1 content goes here</div> <div id="ch2panel" role="tabpanel" aria-labelledby="ch2tab">chapter 2 content goes here</div> <div id="quizpanel" role="tabpanel" aria-labelledby="quiztab">quiz content goes here</div> </div> aria is well supported by all major browsers, including
firefox, safari, opera, chrome, and internet explorer, and many assistive technologies.
Architecture - Accessibility
in
firefox, the results of getendindex will always be the startindex + 1, because links are always just represented by a single embedded object character (c) to get the next char fom a given offset in an accessible text: if current char is 0 (end of string), then we are on a hard line break: get next node (typical depth first search), and set the current offset = 0 iatext::ch = getcharacteratoffset(++...
Color contrast - Accessibility
you can also check color contrast on the fly using
firefox's developer tools — see our accessibility inspector guide, and in particular the section check for accessibility issues.
-moz-outline-radius-bottomleft - CSS: Cascading Style Sheets
formal definition initial value0applies toall elementsinheritednopercentagesrefer to the corresponding dimension of the border boxcomputed valueas specifiedanimation typea length, percentage or calc(); formal syntax <outline-radius>where <outline-radius> = <length> | <percentage> examples rounding a outline since this is a
firefox-only property, this example will not display the desired effect if you are viewing this in a browser other than
firefox.
-moz-outline-radius-bottomright - CSS: Cascading Style Sheets
percentage or calc(); formal syntax <outline-radius>where <outline-radius> = <length> | <percentage> examples html <p>look at this paragraph's bottom-right corner.</p> css p { margin: 5px; border: solid cyan; outline: dotted red; -moz-outline-radius-bottomright: 2em; } result the example above will not display the desired effect if you are viewing this in a browser other than
firefox.
-moz-outline-radius-topleft - CSS: Cascading Style Sheets
formal definition initial value0applies toall elementsinheritednopercentagesrefer to the corresponding dimension of the border boxcomputed valueas specifiedanimation typea length, percentage or calc(); formal syntax <outline-radius>where <outline-radius> = <length> | <percentage> examples the example below will not display the desired effect if you are viewing this in a browser other than
firefox.
-moz-outline-radius-topright - CSS: Cascading Style Sheets
ength, percentage or calc(); formal syntax <outline-radius>where <outline-radius> = <length> | <percentage> examples html <p>look at this paragraph's top-right corner.</p> css p { margin: 5px; border: solid cyan; outline: dotted red; -moz-outline-radius-topright: 2em; } result the example above will not display the desired effect if you are viewing this in a browser other than
firefox.
Layout using named grid lines - CSS: Cascading Style Sheets
.item2 { grid-column: col-start 7 / span 3; } <div class="wrapper"> <div class="item1">i am placed from col-start line 1 to col-start 5</div> <div class="item2">i am placed from col-start line 7 spanning 3 lines</div> </div> if you take a look at this layout in the
firefox grid highlighter you can see how the column lines are shown, and how our items are placed against these lines.
CSS Grid Layout - CSS: Cascading Style Sheets
ent in css grid layout box alignment in css grid layout css grid, logical values and writing modes css grid layout and accessibility css grid and progressive enhancement realising common layouts using css grid subgrid external resources css grid and ie11 (polyfill) examples from jen simmons grid by example - a collection of usage examples and video tutorials codrops grid reference
firefox devtools css grid inspector css grid playground grid garden - a game for learning css grid specifications specification status comment css grid layout module level 2 working draft added subgrids.
CSS Shapes - CSS: Cascading Style Sheets
reference properties shape-image-threshold shape-margin shape-outside data types <basic-shape> guides overview of css shapes shapes from box values basic shapes shapes from images edit shape paths in css —
firefox developer tools external resources a list of css shapes resources css shapes 101 creating non-rectangular layouts with css shapes how to use css shapes in your web design how to get started with css shapes what i learned in one weekend with css shapes css vs.
Layout and the containing block - CSS: Cascading Style Sheets
if the position property is absolute or fixed, the containing block may also be formed by the edge of the padding box of the nearest ancestor element that has the following: a transform or perspective value other than none a will-change value of transform or perspective a filter value other than none or a will-change value of filter (only works on
firefox).
Privacy and the :visited selector - CSS: Cascading Style Sheets
little white lies to preserve users' privacy,
firefox and other browsers will lie to web applications under certain circumstances: the window.getcomputedstyle method, and similar functions such as element.queryselector, will always return values indicating that a user has never visited any of the links on a page.
Pseudo-elements - CSS: Cascading Style Sheets
:after (:after) ::backdrop ::before (:before) ::cue ::cue-region ::first-letter (:first-letter) ::first-line (:first-line) ::grammar-error ::marker ::part() ::placeholder ::selection ::slotted() ::spelling-error browser lowest version support of internet explorer 8.0 :pseudo-element 9.0 :pseudo-element ::pseudo-element
firefox (gecko) 1.0 (1.0) :pseudo-element 1.0 (1.5) :pseudo-element ::pseudo-element opera 4.0 :pseudo-element 7.0 :pseudo-element ::pseudo-element safari (webkit) 1.0 (85) :pseudo-element ::pseudo-element specifications specification status comment css level 1 recommendation defined pseudo-classes and p...
<filter-function> - CSS: Cascading Style Sheets
option> <option>opacity</option> <option>saturate</option> <option>sepia</option> </select> </li> <li> <input type="range"><output></output> </li> <li> <p>current value: <code></code></p> </li> </ul> css div { width: 300px; height: 300px; background: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/
firefox.png) no-repeat center; } li { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; } input { width: 60% } output { width: 5%; text-align: center; } select { width: 40%; margin-left: 2px; } javascript const selectelem = document.queryselector('select'); const divelem = document.queryselector('div'); const slider = document.queryselector('input')...
font-variant-alternates - CSS: Cascading Style Sheets
st-line.inheritedyescomputed valueas specifiedanimation typediscrete formal syntax normal | [ stylistic( <feature-value-name> ) | historical-forms | styleset( <feature-value-name># ) | character-variant( <feature-value-name># ) | swash( <feature-value-name> ) | ornaments( <feature-value-name> ) | annotation( <feature-value-name> ) ]where <feature-value-name> = <custom-ident> examples html <p>
firefox rocks!</p> <p class="variant">
firefox rocks!</p> css @font-feature-values "leitura display swashes" { @swash { fancy: 1 } } p { font-size: 1.5rem; } .variant { font-family: leitura display swashes; font-variant-alternates: swash(fancy); } result note: you need to install the opentype font leitura display swashes for this example to work.
image() - CSS: Cascading Style Sheets
putting color on top of a background image .quarterlogo {height: 200px; width: 200px; border: 1px solid;} .quarterlogo { background-image: image(rgba(0, 0, 0, 0.25)), url("https://mdn.mozillademos.org/files/12053/
firefox.png"); background-size: 25%; background-repeat: no-repeat; } <div class="quarterlogo">if supported, a quarter of this div has a darkened logo</div> the above will put a semi-transparent black mask over the
firefox logo background image.
<length> - CSS: Cascading Style Sheets
mozmm , removed in
firefox 59 an experimental unit that attempts to render at exactly one millimeter regardless of the size or resolution of the display.
width - CSS: Cascading Style Sheets
lass="px_length">width measured in px</div> <div class="em_length">width measured in em</div> percentage .percent { width: 20%; background-color: silver; border: 1px solid red; } <div class="percent">width in percentage</div> max-content p.maxgreen { background: lightgreen; width: intrinsic; /* safari/webkit uses a non-standard name */ width: -moz-max-content; /*
firefox/gecko */ width: -webkit-max-content; /* chrome */ width: max-content; } <p class="maxgreen">the mozilla community produces a lot of great software.</p> min-content p.minblue { background: lightblue; width: -moz-min-content; /*
firefox */ width: -webkit-min-content; /* chrome */ width: min-content; } <p class="minblue">the mozilla community produces a lot of great software.</p...
Demos of open web technologies
tions using foreignobject (visual effects and transforms) phonetics guide (interactive) 3d objects demo (interactive) blobular (interactive) video embedded in svg (or use the local download) summer html image map creator (source code) video video 3d animation "mozilla constantly evolving" video 3d animation "floating dance" streaming anime, movie trailer and interview billy's browser
firefox flick virtual barber shop transformers movie trailer a scanner darkly movie trailer (with built in controls) events firing and volume control dragable and sizable videos 3d graphics webgl web audio fireworks ioquake3 (source code) escher puzzle (source code) kai 'opua (source code) virtual reality the polar sea (source code) sechelt fly-through (source code) css css zen g...
regexp:match() - EXSLT
for example: <xsl:for-each select="regexp:match('http://developer.mozilla.org/en/docs/
firefox_3_for_developers', '(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)')"> part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each> this code generates the following output: part 1 = http://developer.mozilla.org/en/docs/
firefox_3_for_developers part 2 = http part 3 = developer.mozilla.org part 4 = part 5 = /en/docs/
firefox_3_for_developers ...
EXSLT
there are a number of modules; those that are supported by
firefox are listed below: common (exsl)the exslt common package provides basic functions that expand upon the capabilities of xslt.math (math)the exslt math package provides functions for working with numeric values and comparing nodes.regular expressions (regexp)the exslt regular expressions package provides functions that allow testing, matching, and replacing text using javascript style regular expressions.sets (set)the exslt sets package offers functions that let you perform set manipulation.strings (str)the exslt strings package provides functions that allow the manipulation of strings.
Video player styling basics - Developer guides
there are some browser-specific properties that need to be set to ensure that
firefox and chrome use the required colour for the progress bar: .controls progress::-moz-progress-bar { background-color:#0095dd; } .controls progress::-webkit-progress-value { background-color:#0095dd; } although the same properties are set to the same value, these rules need to be defined separately, otherwise chrome ignores it.
Introduction to Web development - Developer guides
html elements reference guide — a comprehensive guide to html elements with details on how browsers support them css getting started with css — an absolute beginners guide to css covers basic concepts and fundamentals css reference guide — a complete guide to css with details on the level of gecko/
firefox support for each.
A hybrid approach - Developer guides
in fact, one potential path for the main mozilla site is roughly outlined in the “the good” section above: using user-agent detection, route visitors to a landing page for the
firefox version for their device.
Printing - Developer guides
<link href="/path/to/print.css" media="print" rel="stylesheet" /> using media queries to improve layout detecting print requests some browsers (including
firefox 6 and later and internet explorer) send beforeprint and afterprint events to let content determine when printing may have occurred.
<datalist>: The HTML Data List element - HTML: Hypertext Markup Language
examples <label for="mybrowser">choose a browser from this list:</label> <input list="browsers" id="mybrowser" name="mybrowser" /> <datalist id="browsers"> <option value="chrome"> <option value="
firefox"> <option value="internet explorer"> <option value="opera"> <option value="safari"> <option value="microsoft edge"> </datalist> result specifications specification status comment html living standardthe definition of '<datalist>' in that specification.
<input type="button"> - HTML: Hypertext Markup Language
tton 1"> <input type="button" value="button 2"> <input type="button" value="button 3"> </fieldset> const button = document.queryselector('input'); const fieldset = document.queryselector('fieldset'); button.addeventlistener('click', disablebutton); function disablebutton() { fieldset.disabled = true; window.settimeout(function() { fieldset.disabled = false; }, 2000); } note:
firefox will, unlike other browsers, by default, persist the dynamic disabled state of a <button> across page loads.
<input type="color"> - HTML: Hypertext Markup Language
for example, in safari 10.1, you would see something that looks looks like this: the same content looks like this in
firefox 55: in this case, clicking on the color well presents the platform's color picker for you to choose a color from (in this case, the macos picker): validation a color input's value is considered to be invalid if the user agent is unable to convert the user's input into seven-character lower-case hexadecimal notation.
X-Content-Type-Options - HTTP
starting with
firefox 72, the opting out of mime sniffing is also applied to top-level documents if a content-type is provided.
X-Frame-Options - HTTP
note that in the legacy
firefox implementation this still suffered from the same problem as sameorigin did — it doesn't check the frame ancestors to see if they are in the same origin.
X-XSS-Protection - HTTP
chrome has removed their xss auditor
firefox have not, and will not implement x-xss-protection edge have retired their xss filter this means that if you do not need to support legacy browsers, it is recommended that you use content-security-policy without allowing unsafe-inline scripts instead.
HTTP Public Key Pinning (HPKP) - HTTP
firefox and chrome disable pin validation for pinned hosts whose validated certificate chain terminates at a user-defined trust anchor (rather than a built-in trust anchor).
Redirections in HTTP - HTTP
firefox displays:
firefox has detected that the server is redirecting the request for this address in a way that will never complete.
408 Request Timeout - HTTP
this response is used much more since some browsers, like chrome,
firefox 27+, and ie9, use http pre-connection mechanisms to speed up surfing.
HTTP response status codes - HTTP
this response is used much more since some browsers, like chrome,
firefox 27+, or ie9, use http pre-connection mechanisms to speed up surfing.
HTTP
firefox developer tools network monitor mozilla observatory a project designed to help developers, system administrators, and security professionals configure their sites safely and securely.
About JavaScript - JavaScript
several major runtime optimizations such as tracemonkey (
firefox 3.5), jägermonkey (
firefox 4) and ionmonkey were added to the spidermonkey javascript engine over time.
Inheritance and the prototype chain - JavaScript
more information is available for
firefox developer tools, chrome devtools, and edge devtools.) function dosomething(){} console.log( dosomething.prototype ); // it does not matter how you declare the function, a // function in javascript will always have a default // prototype property.
JavaScript language resources - JavaScript
implementations spidermonkey - the javascript engine used in various mozilla products, including
firefox; rhino - the javascript engine is written in java; tamarin - the actionscript virtual machine (used in the adobe® flash® player); other implementations (wikipedia).
RangeError: radix must be an integer - JavaScript
message rangeerror: invalid argument (edge) rangeerror: radix must be an integer at least 2 and no greater than 36 (
firefox) rangeerror: tostring() radix argument must be between 2 and 36 (chrome) error type rangeerror what went wrong?
TypeError: X.prototype.y called on incompatible type - JavaScript
message typeerror: 'this' is not a set object (edge) typeerror: function.prototype.tostring called on incompatible object (
firefox) typeerror: function.prototype.bind called on incompatible target (
firefox) typeerror: method set.prototype.add called on incompatible receiver undefined (chrome) typeerror: bind must be called on a function (chrome) error type typeerror what went wrong?
TypeError: can't access property "x" of "y" - JavaScript
message typeerror: unable to get property {x} of undefined or null reference (edge) typeerror: can't access property {x} of {y} (
firefox) typeerror: {y} is undefined, can't access property {x} of it (
firefox) typeerror: {y} is null, can't access property {x} of it (
firefox) examples: typeerror: x is undefined, can't access property "prop" of it typeerror: x is null, can't access property "prop" of it typeerror: can't access property "prop" of undefined typeerror: can't access property "prop" of null error type typeerror.
TypeError: cyclic object value - JavaScript
message typeerror: cyclic object value (
firefox) typeerror: converting circular structure to json (chrome and opera) typeerror: circular reference in value argument not supported (edge) error type typeerror what went wrong?
ReferenceError: deprecated caller or arguments usage - JavaScript
message typeerror: 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context (edge) warning: referenceerror: deprecated caller usage (
firefox) warning: referenceerror: deprecated arguments usage (
firefox) typeerror: 'callee' and 'caller' cannot be accessed in strict mode.
TypeError: setting getter-only property "x" - JavaScript
message typeerror: assignment to read-only properties is not allowed in strict mode (edge) typeerror: setting getter-only property "x" (
firefox) typeerror: cannot set property "prop" of #<object> which has only a getter (chrome) error type typeerror in strict mode only.
SyntaxError: illegal character - JavaScript
message syntaxerror: invalid character (edge) syntaxerror: illegal character (
firefox) syntaxerror: invalid or unexpected token (chrome) error type syntaxerror what went wrong?
RangeError: invalid array length - JavaScript
message rangeerror: array length must be a finite positive integer (edge) rangeerror: invalid array length (
firefox) rangeerror: invalid array length (chrome) rangeerror: invalid array buffer length (chrome) error type rangeerror what went wrong?
TypeError: invalid 'instanceof' operand 'x' - JavaScript
message typeerror: invalid 'instanceof' operand "x" (
firefox) typeerror: "x" is not a function (
firefox) typeerror: right-hand side of 'instanceof' is not an object (chrome) typeerror: right-hand side of 'instanceof' is not callable (chrome) error type typeerror what went wrong?
TypeError: 'x' is not iterable - JavaScript
message typeerror: 'x' is not iterable (
firefox, chrome) typeerror: 'x' is not a function or its return value is not iterable (chrome) error type typeerror what went wrong?
getter - JavaScript
get notifier() { delete this.notifier; return this.notifier = document.getelementbyid('bookmarked-notification-anchor'); }, for
firefox code, see also the xpcomutils.jsm code module, which defines the definelazygetter() function.
Array.prototype.lastIndexOf() - JavaScript
math.min(n, len - 1) : len - math.abs(n); k >= 0; k--) { if (k in t && t[k] === searchelement) { return k; } } return -1; }; } again, note that this implementation aims for absolute compatibility with lastindexof in
firefox and the spidermonkey javascript engine, including in several cases which are arguably edge cases.
Array.prototype.toString() - JavaScript
ecmascript 5 semantics starting in javascript 1.8.5 (
firefox 4), and consistent with ecmascript 5th edition semantics, the tostring() method is generic and can be used with any object.
Date.parse() - JavaScript
however, invalid values in date strings not recognized as simplified iso format as defined by ecma-262 may or may not result in nan, depending on the browser and values provided, e.g.: // non-iso string with invalid date values new date('23/25/2014'); will be treated as a local date of 25 november, 2015 in
firefox 30 and an invalid date in safari 7.
Date.prototype.toLocaleString() - JavaScript
for this reason, you cannot expect to be able to compare the results of tolocalestring() to a static value: "1/1/2019, 01:00:00" === new date("2019-01-01t01:00:00z").tolocalestring("en-us"); // true in
firefox and others // false in ie and edge note: see also this stackoverflow thread for more details and examples.
Infinity - JavaScript
as defined by the ecmascript 5 specification, infinity is read-only (implemented in javascript 1.8.5 /
firefox 4).
Intl.DateTimeFormat.prototype.format() - JavaScript
for this reason you cannot expect to be able to compare the results of format() to a static value: let d = new date("2019-01-01t00:00:00.000000z"); let formatteddate = intl.datetimeformat(undefined, { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' }).format(d); "1.1.2019, 01:00:00" === formatteddate; // true in
firefox and others // false in ie and edge note: see also this stackoverflow thread for more details and examples.
JSON.stringify() - JavaScript
replace(/\u2029/g, '\\u2029'); } var s = { a: string.fromcharcode(0x2028), b: string.fromcharcode(0x2029) }; try { eval('(' + json.stringify(s) + ')'); } catch (e) { console.log(e); // "syntaxerror: unterminated string literal" } // no need for a catch eval('(' + jsfriendlyjsonstringify(s) + ')'); // console.log in
firefox unescapes the unicode if // logged to console, so we use alert alert(jsfriendlyjsonstringify(s)); // {"a":"\u2028","b":"\u2029"} note: properties of non-array objects are not guaranteed to be stringified in any particular order.
JSON - JavaScript
examples example json { "browsers": { "
firefox": { "name": "
firefox", "pref_url": "about:config", "releases": { "1": { "release_date": "2004-11-09", "status": "retired", "engine": "gecko", "engine_version": "1.7" } } } } } specifications specification ecmascript (ecma-262)the definition of 'json' in that specification.
Object.assign() - JavaScript
bug 1207182 on
firefox) object.getownpropertysymbols(obj); // [symbol(foo)] properties on the prototype chain and non-enumerable properties cannot be copied const obj = object.create({ foo: 1 }, { // foo is on obj's prototype chain.
Object.setPrototypeOf() - JavaScript
me; } var george = object.appendchain(new person('george'), 'console.log("hello guys!!");'); console.log(george.identity); // 'george' george(); // 'hello guys!!' polyfill using the older object.prototype.__proto__ property, we can easily define object.setprototypeof if it isn't available already: if (!object.setprototypeof) { // only works in chrome and
firefox, does not work in ie: object.prototype.setprototypeof = function(obj, proto) { if(obj.__proto__) { obj.__proto__ = proto; return obj; } else { // if you want to return prototype of object.create(null): var fn = function() { for (var key in obj) { object.defineproperty(this, key, { ...
SharedArrayBuffer - JavaScript
-opener-policy: same-origin cross-origin-embedder-policy: require-corp to check if cross origin isolation has been successful, you can test against the crossoriginisolated property available to window and worker contexts: if (crossoriginisolated) { // post sharedarraybuffer } else { // do something else } see also planned changes to shared memory which is starting to roll out to browsers (
firefox 79, for example.) always use the new operator to create a sharedarraybuffer sharedarraybuffer constructors are required to be constructed with a new operator.
WeakSet.prototype.add() - JavaScript
examples using add var ws = new weakset(); ws.add(window); // add the window object to the weakset ws.has(window); // true // weakset only takes objects as arguments ws.add(1); // results in "typeerror: invalid value used in weak set" in chrome // and "typeerror: 1 is not a non-null object" in
firefox specifications specification ecmascript (ecma-262)the definition of 'weakset.prototype.add' in that specification.
undefined - JavaScript
in modern browsers (javascript 1.8.5 /
firefox 4+), undefined is a non-configurable, non-writable property, per the ecmascript 5 specification.
typeof - JavaScript
typeof /s/ === 'function'; // chrome 1-12 non-conform to ecmascript 5.1 typeof /s/ === 'object'; //
firefox 5+ conform to ecmascript 5.1 errors before ecmascript 2015, typeof was always guaranteed to return a string for any operand it was supplied with.
return - JavaScript
starting with
firefox 40, a warning is shown in the console if unreachable code is found after a return statement.
Strict mode - JavaScript
second, while es5 unconditionally reserves the words class, enum, export, extends, import, and super, before
firefox 5 mozilla reserved them only in strict mode.
JavaScript
firefox developer tools web console, javascript profiler, debugger, and more.
<merror> - MathML
in
firefox this error message is rendered similar to the typical xml error message.
<mpadded> - MathML
prior to gecko 7.0 (
firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) the mathml2 pseudo-unit lspace was allowed, which is no longer present in the mathml3 recommendation and has been removed now.
MathML
mailing list newsgroup rss feed matrix chat room wiki used by mozilla contributors w3c math home www-math w3.org mail archive tools w3c validator mathzilla
firefox add-on collection texzilla — javascript latex to mathml converter (live demo,
firefox os webapp,
firefox add-on, using in a web page, js program etc) latexml - convert latex documents into html+mathml web pages web equation - turn handwritten equations into mathml or latex mathjax - cross-browser javascript display engine for mathematics.
Guide to streaming audio and video - Web media technologies
for example, because many web sites' mobile-specific content assume that mobile browsers support hls,
firefox for android does as well, in order to avoid strange compatibility errors from occurring due to this assumption being incorrect.
Web Performance
profiling with the built-in profiler learn how to profile app performance with
firefox's built-in profiler.
Privacy, permissions, and information security
for example, in
firefox 73, the user permission requests were revised so that when an <iframe> uses the allow keyword to delegate permission to the embeded document, the browser asks the user to grant the parent document permission to use the resource, and that permission is then shared with the embedded content that requested the resource to begin with.
Media - Progressive web apps (PWAs)
action: printing a document note: this snippet only works on
firefox since it erroneously increments the css counter for fix-position elemnts.
Compatibility sources - SVG: Scalable Vector Graphics
the following sources are used for the compatibility tables on svg elements and attributes: https://developer.mozilla.org/en/svg_in_
firefox together with its revision history for
firefox http://www.webkit.org/projects/svg/status.xml together with its recorded archive for webkit, safari and chrome http://www.opera.com/docs/specs/opera9/svg/ and accompanying pages for opera >= 9, http://www.opera.com/docs/specs/opera8/ for opera 8 http://blogs.msdn.com/b/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx for hints on ie9 support status the svg support charts at codedread.com for basic checks against the w3c test suite wikipedia for basic hints, not normative ...
SVG as an Image - SVG: Scalable Vector Graphics
many browsers support svg images in: html <img> or <svg> elements css background-image gecko-specific contexts additionally, gecko 2.0 (
firefox 4 / thunderbird 3.3 / seamonkey 2.1) introduced support for using svg in these contexts: css list-style-image css content svg <image> element svg <feimage> element canvas drawimage function restrictions for security purposes, gecko places some restrictions on svg content when it's being used as an image: javascript is disabled.
Paths - SVG: Scalable Vector Graphics
this interactive demo might help understand the concepts behind svg arcs: http://codepen.io/lingtalfi/pen/yalwjg (tested in chrome and
firefox only, might not work in your browser) « previousnext » ...
SVG image element - SVG: Scalable Vector Graphics
in this basic example, a .jpg image referenced by an href attribute will be rendered inside an svg object: <?xml version="1.0" standalone="no"?> <!doctype svg public "-//w3c//dtd svg 1.1//en" "http://www.w3.org/graphics/svg/1.1/dtd/svg11.dtd"> <svg width="5cm" height="4cm" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <image href="
firefox.jpg" x="0" y="0" height="50px" width="50px"/> </svg> there are some important things to take note of (referenced from the w3 specs): if you do not set the x or y attributes, they will be set to 0.
SVG fonts - SVG: Scalable Vector Graphics
internet explorer hasn't considered implementing this, the functionality has been removed from chrome 38 (and opera 25) and
firefox has postponed its implementation indefinitely to concentrate on woff.
SVG: Scalable Vector Graphics
some real eye-candy svg at svg-wow.org
firefox extension (grafox) to add a subset of smil animation support interactive photos manipulation html transformations using svg's foreignobject mapping, charting, games & 3d experiments while a little svg can go a long way to enhanced web content, here are some examples of heavy svg usage.
Tutorials
css reference complete reference to css, with details on support by
firefox and other browsers.
XPath snippets - XPath
anode.documentelement : anode.ownerdocument.documentelement); var result = xpe.evaluate(aexpr, anode, nsresolver, 0, null); var found = []; var res; while (res = result.iteratenext()) found.push(res); return found; } this function uses the new xpathevaluator() constructor, which is supported in
firefox, chrome, opera and safari, but not in edge or internet explorer.
Resources - XSLT: Extensible Stylesheet Language Transformations
xsl results
firefox extension (presently awaiting review) - allows one to experiment with xsl, by applying xsl stylesheets (which are manually entered, found via a url or on the file-system) to an xml document (the currently-loaded document or a manually entered/pasted one).
Web technology for developers
developing web applications documentation for web application developers; web apps are true write-once, deploy anywhere apps for mobile, desktop, and
firefox os.
Compiling a New C/C++ Module to WebAssembly - WebAssembly
it is enabled by default in
firefox 52+ and chrome 57+/latest opera (you can also run wasm code in
firefox 47+ by enabling the javascript.options.wasm flag in about:config, or chrome (51+) and opera (38+) by going to chrome://flags and enabling the experimental webassembly flag.) note: if you try to open generated html file (hello.html) directly from your local hard drive (e.g.