Firefox 69 for developers 编辑
This article provides information about the changes in Firefox 69 that will affect developers. Firefox 69 was released on September 3, 2019.
Changes for web developers
Developer tools
Debugger
- Event Listener Breakpoints let you diagnose which code a page executes in response to browser events. You can pick specific types, such as
click
orkeydown
, or whole categories of events, like all mouse input events. (bug 1526082). - Scripts shown in the debugger's source list pane can now be saved via the Download file context menu option (bug 888161).
- In the debugger's source list pane, loaded extensions are listed with their name, rather than just their UUID (bug 1486416), making it much easier to find the extension code you want to debug.
- The debugger now loads significantly faster via lazy-loading scripts (bug 1527488).
Console
- Browser Console messages from tracking protection errors, CSP errors, and CORS errors are grouped automatically to reduce noise from repeated blocked resources and storage access (bug 1522396).
- All visible logs in the console can shared by saving to a file or copying to clipboard via a new Export visible messages to context menu item (bug 1517728).
- The console's toolbar now responsively reduces its height into a single row to save vertical space (bug 972530).
- Messages from content can now be hidden in the console to focus on logs from the Firefox UI (bug 1523842).
Network
- Resources that got blocked because of CSP or Mixed Content are now shown in the Network panel, with details of the reason (bug 1556451).
- A new optional URL column in the Network panel can be enabled to show the full URL for resources (bug 1341155).
Inspector
- When you hover over an element in the Page Inspector, the infobar that appears now includes the fact that an element is a flex container, or flex item (bug 1521188).
- When inspecting a page containing a grid with a subgrid, the parent grid's overlay lines are displayed whenever the subgrid's lines are displayed; if the parent grid's overlay checkbox is unselected, then its lines are translucent (bug 1550519).
Remote debugging
- For our mobile web developers, we have migrated remote debugging from the old WebIDE into a re-designed about:debugging, making the experience of debugging GeckoView on remote devices via USB much better (bug 1462208).
General
- The DevTools panel order has been changed to reflect popularity (bug 1558630).
HTML
- In order to align more closely to the specification, the text track associated with a
<track>
element no longer loads the WebVTT file containing the text cues if the element is created in its defaultdisabled
mode
. To access or manipulate the cues when themode
isdisabled
, change themode
to eitherstarted
orhidden
; this will trigger loading of the WebVTT data (bug 1550633).
Removals
- The HTML
<keygen>
element has been removed from Firefox. It was deprecated some time ago, and its purpose has generally been supplanted by other technologies (bug 1315460).
CSS
- We implemented the
break-spaces
value of thewhite-space
property (bug 1351432). - The SVG geometry attributes (such as
width
andheight
) can now also be defined as CSS properties (bug 1383650). - The
::cue
selector — used to style the captions ("cues") displayed by WebVTT — now enforces the limitations on which CSS properties may be used within cues, as per the specification (bug 1321488). - We've restricted the properties that may apply to
::marker
as per the specification (bug 1552578) - The
overflow-block
andoverflow-inline
properties have been implemented (bug 1470695). - We added the ability to test for support of a selector when using CSS Feature Queries (
@supports
), with theselector()
method (bug 1513643). - The
user-select
property — which specifies whether or not the user is able to select text in the affected element — has been unprefixed (bug 1492739). - We implemented local-specific casing behavior for Lithuanian (bug 1322992), as seen in this example.
- We've implemented the
line-break
property of CSS Text (bug 1011369 and bug 1531715). - The
contain
property — which allows developers to define that an element and its contents are mostly independent of the rest of the DOM tree — got implemented bug 1487493.
SVG
- We've added support for gzip-compressed SVG-in-OpenType (bug 1359240).
- The
SVGGeometryElement.isPointInFill()
andSVGGeometryElement.isPointInStroke()
methods have been implemented (bug 1325319).
JavaScript
- Public class fields are enabled by default (bug 1555464). See also Class fields for more information.
- The promise rejection events
unhandledrejection
andrejectionhandled
are now enabled by default (bug 1362272). To learn more about how these work, see Promise rejection events in Using Promises.
HTTP
- The HTTP headers
Access-Control-Expose-Headers
,Access-Control-Allow-Methods
, andAccess-Control-Allow-Headers
now accept a wildcard value "*
" for requests without credentials (bug 1309358). This change has also been uplifted to Firefox 68 ESR.
APIs
New APIs
- The Resize Observer API is supported by default (bug 1543839).
- The Microtask API (
WindowOrWorkerGlobalScope.queueMicrotask()
) has been implemented (bug 1480236).
DOM
- The
DOMMatrix
,DOMPoint
, and related objects are now supported in workers (bug 1420580). - The
pageX
andpageY
properties have been moved fromUIEvent
toMouseEvent
, for better spec compliance (bug 1178763). These properties are no longer exposed to theCompositionEvent
,FocusEvent
,InputEvent
,KeyboardEvent
, andTouchEvent
interfaces, which all inherit fromUIEvent
. - The
Blob.text()
,Blob.arrayBuffer()
, andBlob.stream()
methods are now implemented (bug 1557121). DOMMatrix.fromMatrix()
has been implemented (bug 1560462).- We now support the six-parameter version of the
DOMMatrix.scale()
method (bug 1397945). - The arguments for
DOMMatrix.translate()
,DOMMatrix.skewX()
, andDOMMatrix.skewY()
are now all optional, as per spec (bug 1397949). - The
navigator.userAgent
,navigator.platform
, andnavigator.oscpu
properties no longer reveal whether a user is running 32-bit Firefox on a 64-bit OS (bug 1559747). They now sayLinux x86_64
instead ofLinux i686 on x86_64
, andWin64
instead ofWOW64
. - The remaining methods of
HTMLDocument
have been moved toDocument
. This should have no appreciable impact on your work in most cases. In particular, theclose()
,open()
, andwrite()
methods have been moved. So have the various editor related methods, includingexecCommand()
as well as various properties (bug 1549560). We have implemented
AbstractRange
andStaticRange
(bug 1444847).
Media, Web Audio, and WebRTC
- For improved user security, and in-keeping with the latest versions of the Media Capture and Streams specification, the
navigator.mediaDevices
property is no longer present if the context is insecure. To usegetUserMedia()
,getDisplayMedia()
,enumerateDevices()
, and so forth, be sure your content is loaded using HTTPS (bug 1528031). - The Web Audio API's
AudioParam.value
property now returns the actual value of the property at the current time, taking into account all scheduled or gradiated value changes. Previously, Firefox only returned the most recent explicitly-set value (as through using thevalue
setter) (bug 893020). - We've updated
MediaStreamAudioSourceNode
to use the new, lexicographical, ordering for tracks. Previously, track ordering was up to the individual browser, and could even change arbitrarily. In addition, attempting to create aMediaStreamAudioSourceNode
using a stream that has no audio tracks now throws anInvalidStateError
exception (bug 1553215). - The
facingMode
,deviceId
, andgroupId
settings are now included as members of theMediaTrackSettings
object returned by calls toMediaStreamTrack.getSettings()
(bug 1537986).
Removals
- The
DOMMatrix.scaleNonUniformSelf()
method has been removed (bug 1560119).
WebDriver conformance (Marionette)
Other
Marionette now dynamically handles the opening and closing of modal dialogs and user prompts (bug 1477977), which also means that multiple open prompts will be handled (bug 1487358).
Tracking protection and DOM push features are now disabled by default to avoid the removal of parts of the DOM, and extra notifications (bug 1542244).
Automatic unloading of background tabs if Firefox runs into a low memory condition is now disabled — this badly interacts with automation when switching between tabs (bug 1553748).
Changes for add-on developers
API changes
- The UserScripts API is now enabled by default.
- The
topSites.get()
method now has new options available —includePinned
andincludeSearchShortcuts
(bug 1547669).
Other changes
- There are now Group Policy options to blacklist all extensions except the ones that have been whitelisted (bug 1522823).
See also
- Hacks release post: Firefox 69 — a tale of Resize Observer, microtasks, CSS, and DevTools
- Site compatibility for Firefox 69
Older versions
- Firefox 68 for developers
- 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论