Firefox 52 for developers 编辑

Firefox 52 was released on March 7, 2017. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.

Changes for Web developers

Developer Tools

All devtools bugs fixed between Firefox 51 and Firefox 52.

HTML

CSS

New features

  • Added :focus-within pseudo-class (bug 1176997).
  • Added support for display:flex/grid and columnset layout inside <button> elements (bug 984869).
  • Implemented interpolation between numeric color and currentcolor (bug 1299741).
  • Implemented flexbox layout for justify-content: space-evenly and align-content: space-evenly (bug 1235922).
  • Added support for subpixel antialiasing in CSS mask / clip-path (bug 1305259).
  • Implemented CSS Text 3 segment break transformation rules (bug 1081858).
  • Basic shape clipping (as applied via the clip-path property) can now be applied to SVG content (bug 1246741).
  • Implemented Flexbox layout for align-self|justify-self: [ first | last ]? baseline (bug 1221524).
  • The touch-action property is now enabled by default on all platforms. (For the full story, see intent to ship mail #1 and intent to ship mail #2.)
  • Flexbox align-content handling & single-line-sizing should depend on flex-wrap, not number of lines (bug 1090031).
  • CSS Animations can now be used to animate non-interpolable properties (see bug 1064937).
  • Changed baseline|last-baseline to [ first | last ]? baseline (bug 1313254).
  • The used value for left/right is start for the block-axis (bug 1221565).
  • Stretching flexible tracks with an indefinite containing block length now respects the min/max size(bug 1309407).
  • The initial values of mask-position and mask-repeat have been changed to 0% 0% and repeat, respectively (bug 1308963).
  • There have been a number of changes to CSS <color> values (see bug 1295456):
    • rgba() and hsla() have now been redefined as aliases of rgb() and hsl(); both accept the same parameter syntax.
    • rgb() and hsl() now accept an optional alpha value, e.g. rgb(255, 0, 0, 0.5).
    • Color functions now accept space-separated parameters rather than commas, e.g. rgb(255 0 0 / 0.5).
    • Alpha values can now be specified as percentages as well as numbers, e.g. rgb(255 0 0 / 50%).
    • The hue component in hsl() colors can now be specified as an angle, as well as a number, e.g. hsl(120deg, 60%, 70%).
  • Firefox's implementation of child-indexed pseudo-classes (such as :nth-child(), :first-child, and so forth) has been updated to match the CSS4 specification: these pseudo-classes now match the appropriate sibling elements rather than the children of their parent element. This allows these pseudo-classes to be used when there is no parent, or the parent is not an Element (bug 1300374.

CSS Grids

Changes and removals

  • Unprefixed multi-column properties (and added back -moz prefixed versions as aliases, for now) (bug 1300895).
  • Stopped wrapping abspos children of flex container in anonymous flex items(bug 1269045).
  • Implemented grid container baselines (bug 1151204).
  • Removed <flex> min-sizing from the style system (bug 1305244).
  • Remove preference layout.css.masking.enabled (bug 1308239).
  • The proprietary -moz-images-in-menus and -moz-images-in-buttons media types have been removed (see bug 1302157).
  • Removed -moz-use-text-color value from color properties; use currentcolor instead (bug 1306214).
  • [css-grid] 'max-width' set on grid item causes text to overflow (bug 1330380).

    JavaScript

    New features

    Changes and removals

    WebAssembly

    DOM

    Changes and removals

    Service Workers and Fetch

    • The Headers.getAll() method has been removed, and Headers.get() now retrieves all values of the specified header, not just the first one (see bug 1278275). This is in accordance with the latest Fetch API spec updates.

    Web Audio API

    WebRTC

    • When an ICE connection is temporarily disrupted, the RTCPeerConnection.iceConnectionState property now gets set to "disconnected"; this indicates a transitory failure that may resolve itself shortly, with the connection returning to the "connected" state afterward (bug 852665).
    • The MediaDevices.ondevicechange event handler and corresponding devicechange event, which were implemented but disabled by default on Mac only in Firefox 51, have been implemented on Windows and Linux and are now enabled by default on all platforms.
    • The MediaStream.active property is now supported. This read-only Boolean property indicates whether or not at least one track on the stream is currently playing.
    • Prior to Firefox 52, the MediaStreamTrack.stop() method could only stop local tracks (that is, tracks obtained through getUserMedia()). Now a variety of tracks can be stopped, including those on a MediaStream associated with a WebRTC connection, Web Audio API stream, or CanvasCaptureMediaStream.
    • Previously, changing a TextTrack's mode repeatedly during a single pass through the Firefox event loop would result in multiple change events being delivered to the TextTrackList specified by the parent media element's textTracks property. Now these changes are consolidated into one event (bug 882674).

    Audio/Video/Media

    • The MediaError objects specified in HTMLMediaElement.error when an error occurs handling an <audio> or <video> element now include a message property, which provides a specific description of the error which occurred. This string offers details particular to this exact error occurrence, offering insight into why things went wrong (bug 1299072). This field has been included in Firefox nightly builds since Firefox 51, but is now available in all builds, up to and including release.

    Other APIs

    HTTP

    SVG

    • SVG documents are now represented using the XMLDocument interface instead of SVGDocument. This is a change made in the SVG 2 specification.

    Security

    • When login pages (i.e those containing an <input type="password"> field) are created so that they would be submitted insecurely, Firefox displays an in-context warning message below the password field to warn users (bug 1319119). Autofill is also disabled on insecure login forms (bug 1217152). See Insecure passwords for more details.
    • Support for SHA-1 SSL certificates has been removed; navigating to a secure page that uses a SHA-1 certificate will now result in an Untrusted Connection error (bug 1330043).

    Plugins

    All NPAPI plugin support except Flash has been dropped (see Plug-in support has been dropped other than Flash for more details). Flash usage is also set to be phased out in the future.

    Changes for add-on and Mozilla developers

    WebExtensions

    New APIs:

    Interfaces

    XUL

    See also

    Older versions

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
    列表为空,暂无数据

    词条统计

    浏览:72 次

    字数:41297

    最后编辑:7 年前

    编辑次数:0 次

      我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
      原文