Firefox 56 was released on September 28, 2017. This article lists key changes that are useful for web developers.
Changes for Web developers
Developer Tools
- Display Negative Line Numbers in CSS Grid Inspector (bug 1369942).
- The new CSS Grid Layout Panel is now available, allowing much better CSS Grid debugging facilities (bug 1181227). See Powerful New Additions to the CSS Grid Inspector in Firefox Nightly for more details.
HTML
- Implemented the
labels
property for labelable form controls, for exampleHTMLInputElement.labels
(bug 556743). - Implemented
<link rel="preload">
; see Preloading content with rel="preload" for more details (bug 1222633). Note that currently Firefox only supports preloading of cacheable resources.
CSS
- Implemented the proprietary Mozilla-specific
<color>
values-moz-win-accentcolor
and-moz-win-accentcolortext
(see bug 1344910), and the proprietary media query-moz-windows-accent-color-in-titlebar
(see bug 1379938).
SVG
No changes.
JavaScript
- The Intl API has been enabled on Firefox for Android (bug 1344625).
APIs
New APIs
No changes.
DOM
- On Mac,
Document.hidden
is now true when the window is behind another non-translucent application bug 1236512. - The
Gamepad.displayId
property has been implemented (bug 1375816). - The
PerformanceTiming.secureConnectionStart
property has been implemented (bug 772589). - Firefox used to accept
iso-2022-jp-2
sequences silently when aniso-2022-jp
TextDecoder()
was instantiated, however this has now been removed to simplify the API, as no other browsers support it and no pages seem to use it. (bug 715833). - The 4ms clamping behaviour of
setTimeout()
andsetInterval()
has been updated to be more in line with other browsers, as described in Timeouts throttled to >=4ms (bug 1378586). - The Page Visibility API's
Document.onvisibilitychange
handler has been added (bug 1333912). - The
Window.showModalDialog()
method has been removed (bug 981796). - The implementation of the
HTMLFormElement.action
,HTMLInputElement.formAction
, andHTMLButtonElement.formAction
properties has been updated so that they return the correct form submission URL, as per spec (bug 1366361).
DOM events
GlobalEventHandlers.onwheel
is now available onHTMLElement
— it wasn't before (bug 1370550).
Media and WebRTC
- Firefox now supports the
RTCPeerConnection
properties which let you examine the current and pending configurations of the local and remote ends of the connection, to help manage changes in configuration:currentLocalDescription
,pendingLocalDescription
,currentRemoteDescription
, andpendingRemoteDescription
. - Hardware encoding of media is now enabled by default on Android; it was available but disabled by default in Firefox 55 (bug 1386974). This supports higher-efficiency encoding of VP8 media on devices that provide support for it. This saves battery life and processor power, generally improving the performance of the user's device.
Canvas and WebGL
- The
CanvasRenderingContext2D.drawImage()
method has been updated so that smoothing occurs when downscaling even ifimageSmoothingEnabled
isfalse
. This is not mandatory as per spec, but follows Chrome's behaviour. See bug 1360415. - An
SVGImageElement
can now be used as aCanvasImageSource
, e.g. as the image source in adrawImage()
call (bug 1382027).
Security
No changes.
Plugins
- Firefox for Android has removed all support for plugins (bug 1381916).
Other
- Gecko now encodes URLs internally as punycode, to avoid URL encoding problems (see bug 945240, also see discussion in bug 942074).
- Firefox on Windows and Mac OS X can now be made to run in headless mode using the
-headless
flag (see bug 1355150 and bug 1355147).
Removals from the web platform
HTML
- The
<isindex>
element has been removed from the HTML parser, and from form submission (bug 1266495). - The
<applet>
element has been removed (bug 1279218).
APIs
No changes.
SVG
No changes.
Changes for add-on and Mozilla developers
WebExtensions
- browsingData.RemovalOptions gets "hostnames" option for cookies
- browsingData.settings() and browsingData.removeCookies() are now supported on Firefox for Android
- browserSettings.cacheEnabled
- browser_style usage is changed
- chrome_settings_overrides.search_provider.is_default
- contextMenus renamed to menus
- cookies.set() and cookies.remove() now work in private browsing mode
- devtools.panels.elements.onSelectionChanged
- downloads.open() can now only be called from a user action
- FindProxyForURL "DIRECT" return type no longer takes an argument
- history.onVisited now includes the page title if it is known.
- management.get() and management.getAll()
- menus now supports the "tools_menu" context
- menus.OnClickData now has "linkText"
- menus.create() now has an "icons" option
- notifications.onShown
- pageAction.show() and pageAction.hide() are now supported on Firefox for Android
- permissions now supports "unlimitedStorage"
- privacy.services now includes passwordSavingEnabled
- privacy.websites.referrersEnabled
- protocol_handlers now supports "gopher"
- proxy.registerProxyScript() is renamed to proxy.register()
- proxy.unregister()
- runtime.onInstalled gets
temporary
flag - tabs.print(), tabs.PageSettings, tabs.printPreview(), tabs.saveAsPDF()
- tabs.Tab.lastAccessed
- theme.reset()
- windows.create() and windows.update() now support prefacing window title
发布评论