Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Firefox OS 1.2 for developers

Firefox OS 1.2 is at a pre-release stage right now. Its Gecko component is based on Firefox 26 (encompassing all Gecko additions between Firefox 19 and Firefox 26; see Firefox 26 release notes for developers for the latest.) This page details the developer features newly implemented in Firefox OS 1.2.

Developer Tools

HTML

General Gecko:

  • The srcdoc attribute of <iframe>, allowing the inline specification of the content of an <iframe>, is now supported (bug 802895).
  • When used with a "image/jpeg" type, the method HTMLCanvasElement.toBlob now accepts a third attribute defining the quality of the image (bug 891884).
  • The <track> element has been implemented behind the media.webvtt.enabled property (bug 833385).
  • The <blink> element support is now completely dropped. The <blink> tag now implements the HTMLUnknownElement interface (bug 857820).
  • The range state of the <input> element (<input type="range">) has been switched on by default (bug 841950).
  • The HTML5 <data> element has been implemented (bug 839371).
  • The HTML5 <time> element has been implemented (bug 629801).
  • The range state of the <input> element (<input type="range">) has been implemented, behind the preference dom.experimental_forms_range, only enabled by default on Nightly and Aurora channel (bug 841948).
  • The support for the <template> element, part of the Web component specification has been implemented (bug 818976).
  • The scoped attribute has been added to the <style> element. It allows to include styles that are isolated from the rest of the document. Such styles can be selected using the :scope CSS pseudo-element introduced in Firefox 20. (bug 508725).
  • The new HTML <main> element has been implemented (bug 820508).
  • Support for the download attribute on the <a> and <area> element has been added (bug 676619).
  • The value auto for the global attribute dir has been implemented (bug 548206).

CSS

General Gecko:

JavaScript

General Gecko:

EcmaScript 6 (Harmony) implementation continues!

  • New mathematical methods have been implemented on Math: Math.fround() (bug 900125).
  • The method Array.of() is now implemented on Array (bug 866849).
  • The methods Number.parseInt() and Number.parseFloat() have been implemented (bug 886949)
  • The methods Map.prototype.forEach() and Set.prototype.forEach() are now implemented (bug 866847)
  • New mathematical methods have been implemented on Math: Math.log10(), Math.log2(), Math.log1p(), Math.expm1(), Math.cosh(), Math.sinh(), Math.tanh(), Math.acosh(), Math.asinh(), Math.atanh(), Math.trunc(), Math.sign() and Math.cbrt() (bug 717379).
  • Support for binary and octal integer literals has been added: 0b10101010, 0B1010, 0o777, 0O237 are now valid (bug 894026).
  • The machine epsilon constant, that is the smallest representible number that added to 1 will not be 1, is now available as Number.EPSILON (bug 885798).
  • Arrow functions are no longer automatically in strict mode unless explicitly requested with "use strict" (bug 852762)).
  • The String.prototype.repeat JS method has been implemented (bug 815431).
  • The Object.defineProperty method can now be used to redefine the length property of an Array object.
  • The option to disable JavaScript, including the options to allow moving windows/replace context menu, have been removed. You may still disable JavaScript by double clicking the "javascript.enabled" option in about:config.
  • Asm.js optimizations are enabled, making it possible to compile C/C++ applications to a subset of Javascript for better performance.
  • ES6 Arrow Function syntax has been implemented (bug 846406).
  • The new Object.is function has been added (bug 839979).
  • E4X, an ancient JavaScript extension, has been removed. Implemented only in Gecko, it never got significant traction (bug 788293).
  • parseInt no longer treats strings with leading "0" as octal (bug 786135).
  • Support for the Weakmap.prototype.clear() method, recently added to the Harmony (EcmaScript 6) draft proposal has been added (bug 814562).
  • Support for the Math.imul() method, a C-style 32-bit multiplication function. Though proposed for Harmony (EcmaScript 6) it has not yet accepted and still is non-standard (bug 808148).
  • Web apps using draggable text with Kinetic 3.x are working, even when using the Cairo canvas backend (bug 835064).
  • The for each…in statement has been deprecated and should not be used. Consider using the new for…of statement (bug 804834).
  • Support for the Map.prototype.keys, Map.prototype.values, and Map.prototype.entries has been added (bug 817368).
  • Map and Set objects have changed from having a size() method to a size property (bug 807001).
  • Map and Set objects also have a clear() method now. (bug 805003).

Telephony-specific additions (mostly API-related)

  • Fuzzy matcher API for phone numbers (bug 883923)
  • CDMA
    • Registration info (bug 882984)
      • (bug 882984)
      • multiple new CDMA specific attributes in MozMobileCellInfo
      • dom/network/interfaces/nsIDOMMobileConnection.idl
    • Emergency callback mode support (bug 887690)
      • new method exitEmergencyCbMode and new event emergencycbmodechange in MozMobileConnection
      • dom/network/interfaces/nsIDOMMozEmergencyCbModeEvent.idl
    • OTASP (bug 882983)
      • new event otastatuschange in MozMobileConnection
      • dom/network/interfaces/nsIDOMMozOtaStatusEvent.idl
    • MDN/MIN (bug 869778)
      • new interface MozGsmIccInfo & MozCdmaIccInfo
      • new attribute iccType in MozIccInfo
      • dom/icc/interfaces/nsIDOMIccInfo.idl
    • Preferred voice mode (bug 869769)
      • new methods setVoicePrivacyMode and getVoicePrivacyMode in MozMobileConnection
      • dom/network/interfaces/nsIDOMMobileConnection.idl
    • Roaming preference (bug 869768)
      • new methods setRoamingPreference and getRoamingPreference in MozMobileConnection
      • dom/network/interfaces/nsIDOMMobileConnection.idl
    • Call Waiting (bug 822210)
      • new attribute secondNumber in TelephonyCall
      • dom/webidl/TelephonyCall.webidl
  • Support Change Call Barring Password (bug 905479)
    • new method changeCallBarringPassword in MozMobileConnection
    • dom/network/interfaces/nsIDOMMobileConnection.idl
  • Move ICC functions out from MobileConnection (bug 875721, bug 874744, bug 860585, bug 859220)
    • MozIccInfo
      • navigator.mozIccManager.iccInfo
      • new interface
      • dom/icc/interfaces/nsIDOMIccInfo.idl
    • MozIccManager
      • navigator.mozIccManager
      • new attributes, methods, and events
      • dom/icc/interfaces/nsIDOMIccManager.idl
    • MozMobileConnection
      • navigator.mozMobileConnection
      • numerous attributes, methods and events removed
      • dom/network/interfaces/nsIDOMMobileConnection.idl
    • nsIDOMMozMobileICCInfo
      • navigator.mozMobileConnection.iccInfo
      • interface removed
  • ICC card lock improvements
    • Rename ICCCardLockErrorEvent to IccCardLockErrorEvent
      • dom/webidl/IccCardLockErrorEvent.webidl
    • Retry count (bug 886239, bug 875710)
      • attribute retryCount removed from MozMobileConnection
      • new method getCardLockRetryCount in MozIccManager
      • dom/network/interfaces/nsIDOMMobileConnection.idl
      • dom/icc/interfaces/nsIDOMIccManager.idl
  • Import/export SIM Contacts (bug 847741, bug 847820)
    • new methods readContacts, updateContact in MozIccManager
    • dom/icc/interfaces/nsIDOMIccManager.idl
  • ICC Secure Elements (bug 840780)
    • new methods iccOpenChannel, iccExchangeAPDU, iccCloseChannel in MozIccManager
    • dom/icc/interfaces/nsIDOMIccManager.idl
  • STK improvements
    • 'duration' for Display Text, Setup Call commands (bug 831630)
      • new attribute duration in both MozStkTextMessage and MozStkSetUpCall
      • dom/icc/interfaces/SimToolKit.idl
    • support "Language Selection Event" (bug 831627)
      • new dictionary MozStkLanguageSelectionEvent
      • dom/icc/interfaces/SimToolKit.idl
    • support "Idle Screen Available Event" (bug 831628)
      • new dictionary MozStkGeneralEvent
      • dom/icc/interfaces/SimToolKit.idl
  • MobileMessage
    • Turn getSegmentInfoForText into an async call (bug 903403)
      • dom/mobilemessage/interfaces/nsIDOMMobileMessageManager.idl
    • Remove navigator.mozSms (bug 891235)
  • Telephony
    • support "Conference Call" (certified only) (bug 772765)
      • navigator.mozTelephony.conferenceGroup
      • new interface

DOM/API

Firefox OS-specific:

  • Device Storage API: When getting a cursor callback from navigator.getDeviceStorage("sdcard").enumerate, this.done was undefined in Firefox <1.2 (see bug 902565). This is now fixed. The referenced bug discusses possible compatibility checks/workarounds for this issue.
  • The RTCPeerConnection Interface from WebRTC is implemented, but currently disabled by default in B2G, as it is not yet functional on Firefox OS devices (see bug 942343.)
  • Web notifications are supported in Firefox 1.2, therefore the Notification object should be used in preference to the old deprecated mozNotification object (see bug 899574 .)
  • mozInputMethod has been added to allow for people to write 3rd party keyboards. See the test application in gaia/test_apps for a reference implementation.
  • The Media Recording API has been implemented (see bug 803414, bug 889720)
  • KeyboardEvent.repeat now supported (bug 600117)
  • 3rd party keyboards now supported (bug 816869)
New WebGL 1 extensions supported in Firefox OS 1.2:
Note: availability of these extensions depends on device capabilities; not all extensions will be available on all devices.

General Gecko:

SVG

General Gecko:

MathML

General Gecko:

  • The dir attribute for controlling directionality of formulas on e.g. <math> or <mrow> elements is now equivalent to using the direction CSS property.
  • The equal sign ("=") is now stretchable.
  • The "updiagonalarrow" value for the notation attribute on <menclose> elements has been added.
  • Negative widths for the <mspace> element has been implemented (bug 717546).
  • The <semantics> element now determines the visible child as described in the MathML3 specification.
  • To help MathML authors debugging "invalid-markup" errors in their documents, MathML parsing errors (such as having too many / too few child elements) and warnings about deprecated attributes or wrong attribute values are now reported to the Error Console.
  • The scriptminsize attribute now accepts unitless values and percent values. They are interpreted as multiples of the default value ("8pt").
  • Unitless values are now also allowed for the mathsize and fontsize attributes; they multiply the default value.

Network

General Gecko:

  • We continue to update our CSP implementation to match the CSP 1.0 spec, which reached Candidate Recommendation:
    • Support for the spec-compliant Content-Security-Policy HTTP header (in addition to the experimental X-Content-Security-Policy) has been added (bug 783049). Note: the patch for this new header landed in Firefox 21, it is disabled on builds (bug 842657).

Worker

General Gecko:

Security

General Gecko:

  • Mixed content blocking. Firefox will no longer load non-secure (http) resources on secure (https) pages (bug 834836).
  • The standard syntax of CSP 1.0 policies are now implemented and enforced by default.

XForms

General Gecko:

Support for XForms has been removed in Firefox 19.

See also

Older versions

 

Share this article: https://mzl.la/1av9ZRr

Document Tags and Contributors

 Last updated by: Sebastianz,