• Skip to main content
  • Select language
  • Skip to search
MDN Web Docs
  • Technologies
    • HTML
    • CSS
    • JavaScript
    • Graphics
    • HTTP
    • APIs / DOM
    • WebExtensions
    • MathML
  • References & Guides
    • Learn web development
    • Tutorials
    • References
    • Developer Guides
    • Accessibility
    • Game development
    • ...more docs
B2G OS
  1. MDN
  2. Archive of obsolete content
  3. B2G OS
  4. Firefox OS developer release notes
  5. Firefox OS 1.3 for developers

Firefox OS 1.3 for developers

In This Article
  1. CSS
  2. HTML
  3. JavaScript
  4. DOM/API
  5. SVG
  6. Audio/Video
  7. See also
  8. Older versions

Gecko component of Firefox OS 1.3 is based on Firefox 28 (see Firefox 28 release notes for developers.) This page details the developer features newly implemented in Firefox OS 1.3.

CSS

General Gecko:

  • Support for multi-line flexbox has been added (bug 939901).
  • Longhand East Asian counter styles have been implemented (bug 934072).
  • Support for the background-blend-mode property has been added (bug 841601).
  • The none value has been added to font-variant-ligatures (bug 913264).
  • Support for the :hover user action pseudo-class on pseudo-elements has been implemented (bug 922669).
  • The -moz-grab and -moz-grabbing keywords on the CSS cursor property have been unprefixed to grab and grabbing (bug 880672).
  • Support for the -moz-hsla() and -moz-rgba() functional notations has been dropped. Only the unprefixed versions, hsla() and rgba() are supported from now on (bug 893319).
  • The "true" value for text-align has been added (bug 929991).
  • Experimental support of position:sticky is now active by default on non-release builds (bug 902992). For releases builds, the layout.css.sticky.enabled preference still needs to be set to true.
  • The all shorthand property has been added (bug 920633).
  • The unset global value has been added; it allows to reset any CSS property (bug 921731).
  • Curly brackets are no longer allowed in HTML style attributes: doing <div style="{ display: none }"> was working in quirk mode, but won't anymore bug 915053.
  • The overflow property now works on <fieldset> (bug 261037).

HTML

General Gecko:

  • The web components <content> element has been implemented (bug 854736).
  • WebVTT has been switched on by default (bug 887978).
  • <input type=color> has been implemented.
  • The allow-popups directive is now supported with the sandbox attribute of the <iframe> element (bug 766282).
  • Blending of HTML elements using the mix-blend-mode property has been implemented. The layout.css.mix-blend-mode.enabled preference must be set to true (bug 902525).

JavaScript

General Gecko:

EcmaScript 6 (Harmony) implementation continues!

  • New Array methods have been implemented: Array.prototype.entries() and Array.prototype.keys() (bug 894658).
  • The Harmony spread operator is now supported in Function calls (bug 762363).
  • The mathematical function Math.hypot() has been implemented (bug 896264).
  • The yield* operator is now implemented (bug 666396).
  • The MapIterator, SetIterator and ArrayIterator objects now match the specification (bug 881226).
  • for..of loops now expect the ES6 standard iterator protocol moving away from SpiderMonkey old iterator protocol using StopIteration.
  • String.match and String.replace now reset RegExp.lastIndex (bug 501739).

DOM/API

Firefox OS-specific:

  • Multi-SIM support landed in Firefox OS (Dual-SIM-Dual-Standby or DSDS). navigator.mozMobileConnection becomes an array of MozMobileConnection instances, i.e. navigator.mozMobileConnections.  The privileged subset of this API can be used to detect MCC (country) and MNC (carrier), like in this snippet.
  • Contacts API now uses WebIDL (bug 850430), with associated changes:
    • Date properties now handled consistently across the Contacts code.
    • mozContacts.remove now accepts a contact ID for removal.
  • The DataStore API has been enabled by default in B2G for certified apps only (bug 967414), and its permissions have been tweaked bug 871445.
  • The WebIccManager API, which allows support for multiple sim cards, has had updates:
    • iccChangeEvent has been added using using event generator (bug 814637)
  • NFC has had updates:
    • onpeerready and onpeerlost callbacks added (bug 933136).
    • New interface added — checkP2PRegistration — plus the 'ChromeOnly' interfaces eventListenerWasAdded and eventListenerWasRemoved, to support basic PeerToPeer use cases.
    • New interfaces added to MozNfcManager DOM notifyUserAcceptedP2P and notifySendFileStatus (bug 959437).
    • sendFile interface added to MozNFCPeer (bug 933093).
  • The SpeakerManager API has been implemented, to allow usage such as FM Radio outputting to phone speakers (bug 854753).
  • Notification.get() added to Notification API to provide a way to get current notification objects (bug 899574).

General Gecko:

  • The navigator.onLine and console objects have been implemented in Web Workers (bug 925437 and bug 620935).
  • The web components ShadowRoot stylesheet behaviour has been implemented (bug 929885).
  • JavaScript Pointer Events have been implemented (bug 822898).
  • The vtt.js WebVTT JavaScript parser has been added into Gecko (bug 895091). On a related note, TextTrack now dispatches TrackEvents (bug 893309).
  • getUserMedia now has the ability to share a tab/screen/window as a video stream (bug 742832).
  • Shared workers are implemented (see bug 643325), but disabled by default in Gecko 28 (set the dom.workers.sharedWorkers.enabled to true to enable.) They are enabled by default in Gecko 29 (see bug 924089).
  • WebIDL enum added for for AudioChannel in HTMLMediaElement (see bug 925594.)
  • HTMLVideoElement.canPlayType('video/webm') now reports maybe. (bug 884275).
  • The DocumentFragment.getElementById() method has been implemented. E.g. document.createDocumentFragment().getElementById() (bug 933193).
  • The KeyboardEvent.repeat attribute has been implemented (bug 600117).
  • The File constructor, e.g. new File(["foo"], "foo.txt") has been implemented. (bug 819900).
  • The navigator.plugins is no more enumerable, for privacy reasons (bug 757726).
  • The two attributes Window.screenX and Window.screenY now return CSS pixels (and no more device pixels) (bug 943668).
  • The two methods CanvasRenderingContext2D.drawSystemFocusRing() and CanvasRenderingContext2D.drawCustomFocusRing() have been implemented. The preference canvas.focusring.enabled must be set to true to activate both (bug 540456).
  • The following attributes have been added to NavigatorID: appCodeName and product (bug 925847).
  • Support for the two setRange() methods on the HTMLInputElement interface has been added (bug 850364).
  • Support for the two setRange() methods on the HTMLTextAreaElement interface has been added (bug 918940).
  • The method getAllKeys() and openKeyCursor() have been added to IDBObjectStore (bug 920633 and bug 920800).
  • The HTMLFormControlsCollection interface has been implemented (bug 913920).
  • The CanvasRenderingContext2D interface supports now the two methods getLineDash() and setLineDash() (bug 768067).
  • The typeMustMatch attribute has been implemented on the HTMLObjectElement interface (bug 827160).
  • The copyFromChannel() and copyToChannel() methods have been added to AudioBuffer (bug 915524).
  • Event.isTrusted() is now unforgeable (bug 637248).
  • The Navigator.vibrate() method has been adapted to match the final specification: It now returns false when the list is too long or has too large entries, instead of throwing (bug 884935).
  • As part of the ongoing effort to standardize global objects, the non-standard stylesheet change event interfaces, including StyleRuleChangeEvent, StyleSheetApplicableStateChangeEvent and StyleSheetChangeEvent, are no longer available from Web content. The CSSGroupRuleRuleList interface, the implementation detail of CSSRuleList, has also been removed (bug 872934 and bug 916871).
  • atob now ignores whitespaces (bug 711180).
  • WebGL: MOZ_ prefixed extension strings are deprecated. Support for them will be removed in the future. Use unprefixed extension string only. To get draft extensions, set the webgl.enable-draft-extensions preferences (bug 924176).

SVG

General Gecko:

  • Blending of SVG elements using the mix-blend-mode property has been implemented. The layout.css.mix-blend-mode.enabled preference must be set to true (bug 902525).

Audio/Video

  • Opus in WebM is now supported (bug 887978).
  • The VP9 video decoder is now supported (bug 833023).

See also

  • Firefox OS 1.3 Notes

Older versions

  • Firefox OS 1.2 for developers
  • Firefox OS 1.1 for developers
  • Firefox OS 1.0.1 for developers

Share this article: http://mzl.la/1fVuFWR

Document Tags and Contributors

Tags: 
  • Firefox OS
  • Release Notes
 Contributors to this page: chrisdavidmills, FunTomas, eldhose104, mathew.jithin, trevorh, digitarald
 Last updated by: chrisdavidmills, Feb 27, 2017, 2:56:47 AM
See also
  1. Build and install
    1. Build and install overview
    2. B2G OS build process summary
    3. Build prerequisites
    4. Preparing for your first build
    5. Building B2G OS
    6. B2G installer add-on
    7. Building B2G OS for Flame on Mac OS X
    8. Choosing how to run Gaia or B2G OS
    9. Compatible Devices
    10. Installing B2G OS on a mobile device
    11. Creating and applying B2G OS update packages
    12. Building and installing FOTA community builds
    13. B2G build variables reference sheet
  2. Porting B2G OS
    1. Porting overview
    2. Porting basics
    3. Porting on CyanogenMod
  3. Developing Gaia
    1. Developing Gaia overview
    2. Running the Gaia codebase
    3. Run Gaia on desktop using Mulet
    4. Understanding the Gaia codebase
    5. Making Gaia code changes
    6. Testing Gaia code changes
    7. Submitting a Gaia patch
    8. Gaia build system primer
    9. Different ways to run Gaia
    10. Make options reference
    11. Gaia tools reference
  4. B2G OS APIs