This translation is incomplete. Please help translate this article from English
This article provides information about the changes in Firefox 68 that will affect developers. Firefox 68 was released on July 9, 2019.
Changes for web developers
- The Web console now shows more information about CSS warnings, including a node list of the DOM elements that used the rule (error 1093953).
- You can now filter content in the Web console using regular expressions (error 1441079).
- The Browser console now allows you to show or hide messages from the content process by setting or clearing the checkbox labeled Show Content Messages (error 1260877).
- You can now Search in all files in the current project from the debugger by pressing Shift + Ctrl + F (Windows or Linux) or Shift + Cmd + F (macOS) (error 1320325).
- The Network monitor request list now allows you to block a specific URL (error 1151368).
- You can now resend a network request without editing the method, URL, parameters, and headers, using the Resend command on the context menu (error 1422014).
- The context menu of the Network monitor Headers tab now allows you to copy all or some of the header information to the clipboard in JSON format (error 1442249).
- A button has been added to the rules panel of the Page inspector that allows you to toggle the display of any print media queries (error 1534984).
- The fonts panel now includes a slider to modify
- A warning icon appears next to unsupported CSS properties or rules that have invalid values, to help you understand why certain styles are not being applied (error 1306054).
- You can now delete local and session storage entries by selecting the item in the storage inspector and pressing the backspace key (error 1522893).
- The Accessibility Inspector now includes a new Check for issues feature, which will include a number of audit tools to highlight accessibility problems on your web pages. The first available check is contrast, for highlighting color contrast problems.
- The preference that controls the visibility of internal extensions (system add-ons and hidden extensions) on the about:debugging page has been changed from
- Responsive design mode has been redesigned — the Device Settings dialog (device selection menu > Edit List...) is now more intuitive and simpler to use (error 1487857).
- The "Enable add-on debugging" checkbox has been removed from the about:debugging page (error 1544813).
<track>element — represented by
HTMLTrackElement— now receives a
cuechangeevent in addition to the
TextTrackitself, if the text track is a contained by a media element (error 1548731).
<link>elements support the
disabledattribute again, albeit with different behavior. When
disabledis set on a
<link>element along with
rel="stylesheet", the referenced stylesheet is not loaded during page load, and will be loaded on demand when the
disabledattribute is changed to
falseor removed (error 1281135).
- CSS Scroll Snapping has been updated to the latest version of the specification (error 1312163) and (error 1544136), this includes:
-webkit-line-clampproperty has been implemented for compatibility with other browsers (error 866102).
- Support has been added for the
::markerpseudo-element (error 205202) and animation for
::markerpseudos (error 1538618)
- We changed
currentcolorto be a computed value (except for the
colorproperty) (error 760345).
- Support has been fixed for the
chlength unit so it now matches the spec (fallback for no '0' glyph, vertical metrics) (error 282126)
counter-setproperty has been implemented. (error 1518201).
- We now implement list numbering using a built-in "list-item" counter; this fixes list numbering bugs (error 288704).
- Selector matching and parsing support has been implemented for
::part()(error 1545430) and (error 1545425).
- CSS Transforms are now supported in indirectly rendered things e.g.)
While we're keeping the prefixed versions of the various gradient properties (
repeating-radial-gradientavailable for compatibility reasons, we have revised how they're parsed so that they're handled much more like the non-prefixed versions. This means that certain existing styles won't work correctly.
In particular, the complicated syntax taking both an angle and a position will no longer work, and the
tokeyword in the
<side-or-corner>parameter is not required for the prefixed gradient properties. You are encouraged to use the standard, non-prefixed gradient properties instead, as they're now widely supported (error 1547939).
scroll-snap-type-yhave been removed.
scroll-snap-typeproperty has become a longhand, so the old shorthand syntax like
scroll-snap-type:mandatorywill stop working. See the Firefox Site Compatability note.
CSS Object Model (CSSOM)
- The legacy
removeRule()methods have been added to the
CSSStyleSheetinterface. These were introduced by Internet Explorer 9 and have never managed to quite be stamped out, so they have been added to improve compatibility with the small percentage of sites that still use them (error 1545823).
- The Visual Viewport API has now been enabled by default on Android (error 1512813). Adding this API to desktop versions of Firefox is being tracked in error 1551302.
noreferreris now supported; if specified, the new window's content is loaded without sharing the hostname, IP address, URL, or other identifying information about the host device (error 1527287).
HTMLImageElementis now implemented. This can be used to trigger loading and decoding of an image prior to adding it to the DOM (error 1501794).
XMLHttpRequesthas been updated to no longer accept the non-standard
responseType. Code still using it should be updated to use the Fetch API as a stream (error 1120171).
XMLHttpRequestnow outputs a warning to console if you perform a synchronous request while handling an
pagehideevent (error 980902).
cookieproperty has moved from the
HTMLDocumentinterface to the
SVGElement.focus()methods now accept an optional object that may contain a boolean
preventScrolloption specifying whether or not to block the browser from scrolling the newly-focused element into view (error 1374045).
- Firefox for Android no longer incorrectly sends a
resizeevent until after the first frame is painted; this improves web compatibility with sites that don't expect this event to occur (error 1528052).
- The dispatching of events for non-primary mouse buttons has been made to more closely follow the specification; the
clickevent is no longer sent when non-primary buttons are clicked, instead using
auxclick. In addition,
dblclickno longer fires for non-primary buttons (error 1379466).
- The proprietary
MouseEvent.mozPressureproperty has been deprecated, and will now trigger a warning in the console (error 1165211).
Media, Web Audio, and WebRTC
- WebRTC has been updated to recognize that a
nullcandidate passed into the
icecandidateevent handler, indicating the receipt of a candidate, instead indicates that there are no further candidates coming; when this happens the ICE gathering (
iceGatheringState) state reaches
getSynchronizationSources()now support video tracks; previously they only worked on audio (error 1534466).
- The Web Audio API
MediaStreamTrackAudioSourceNodeinterface is now supported, as is the method
RTCDataChannel.negotiatedis now implemented (error 1529695).
MediaStreamAudioSourceNode()constructor has been updated to match the current specification's definition that the "first audio track" in the stream is the track whose ID comes first in lexicographical order (error 1324548).
getUserMedia()may no longer be used from a non-secure context; attempting to do so now throws a
NotAllowedErrorexception. Secure contexts are those loaded using HTTPS, those located using the
file:///scheme, and those loaded from
localhost. For now, if you must, you can re-enable the ability to perform insecure calls to
getUserMedia()by setting the preference
- Removed the non-standard
XMLDocument.load()method (error 332175).
- Removed the non-standard
XMLDocument.asyncproperty (error 1328138).
tokenvalue has been removed (error 1529595).
- The HTTP
Clear-Site-Dataheader no longer supports the
executionContextsdirective. This was removed due to problems with interactions between interconnections among different kinds of data at different points in the navigation process and the way the specification is designed. It has been proposed that this directive be removed from the specification for this reason, among others (error 1548034).
require-sri-foris no longer supported due to concerns about its standardization status. It was previously available only behind a preference, which was off by default (error 1386214).
WebDriver conformance (Marionette)
WebDriver:SwitchToWindowchanges the selection to a different window it now waits for its
activateevents before returning (error 1335085).
- Fixed the
TypeError: this.tabModal is nullfailure, which sometimes appeared when interacting with modal dialogs or user prompts (error 1538782)
- Disabled the feature to force unloading background tabs on low memory conditions, to prevent top-level browser contexts from magically disappearing (error 1553748).
- Disabled priviledged content processes that caused HTTP authentication dialogs not to appear when navigating to a website after opening a new tab (error 1558763).
Changes for add-on developers
- The The
proxy.unregister()functions have been deprecated and will be removed from Firefox 71 (error 1545811).
- When an add-on attempts to add a bookmark folder to the root folder, the resulting error message is now much more intuitive (error 1512171).
- The promise returned by
browser.tabs.duplicate()now resolves immediately, before the tabs are completely loaded, to improve performance (error 1394376).
- Support has been added for chrome.storage.managed, allowing web extension settings to be implemented via enterprise policy (error 1230802).
- There is now a Group Policy option to blacklist all extensions except the ones that have been whitelisted (error 1522823).
- Firefox 67 for developers
- Firefox 66 for developers
- Firefox 65 for developers
- Firefox 64 for developers
- Firefox 63 for developers
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers