30

Firefox 65 for developers

 5 years ago
source link: https://www.tuicool.com/articles/hit/IvYbyaI
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

This article provides information about the changes in Firefox 65 that will affect developers. Firefox 65 is the current Beta version of Firefox , and will ship onJanuary 29, 2019.

Changes for web developers

Developer tools

  • TheFlexbox inspector is now enabled by default.
  • Support has been added to theJavaScript Debugger for XHR Breakpoints (bug 821610).
  • Right-click on an item in the accessibility tree from the Accessibility viewer toprint it as json to the JSON viewer.
  • Thecolor contrast display of the Accessibility Picker has been updated so that if a text's background is complex (e.g. a gradient or complex image), it shows a range of color contrast values.
  • The Headers tab of theNetwork Monitor now displays the Referrer Policy for the selected request (bug 1496742).
  • When displaying stack traces (e.g. in console logs or the JavaScript debugger), calls to framework methods are identified and collapsed by default, making it easier to home in on your code.
  • In the same fashion as native terminals, you can now use reverse search to find entries in your JavaScript console history ( F9 on Windows/Linux or Ctrl + R on macOS, then type a search term, followed by Ctrl + R / Ctrl + S to toggle through results).
  • The JavaScript console's $0 shortcut (references the currently inspected element on the page) now has autocomplete available, so for example you could type  $0.te to get autocomplete suggestions for properties like $0.textContent .
  • The edits you make in the Rules view of the Inspector are now listed in the Changes panel (bug 1503920).

HTML

  • Events are now dispatched on disabled HTML elements, i.e. <button> , <fieldset> , <input> , <select> , and <textarea> elements with disabled attributes set on them (bug 329509).
  • Removing the src attribute of an <iframe> element now causes about:blank to be loaded into it, giving it parity with Chrome and Safari (bug 1507842). Previously removing src had no effect on the iframe content.
  • We have added support for the referrerpolicy attribute on <script> elements (bug 1460920).

CSS

  • The image-rendering property's crisp-edges value has now been unprefixed (bug 1496617).
  • A scrollbar-color value of auto now resolves to auto , rather than two colors (bug 1501418).
  • The break-* properties have been implemented, and the legacy page-break-* properties have been aliased to them (bug 775618):
  • The overflow-wrap property's anywhere value has been implemented (bug 1505786).
  • The new step position keywords jump-start , jump-end , jump-none , and jump-both — usable inside the steps() timing function — have been implemented (bug 1496619). This also coincides with the removal of the frames() timing function, which was the previous way of implementing such functionality, now deprecated.
  • Some new -webkit-appearance values have been added, for compatibility with other browsers. In particular:
    • meter , which is now used as the default value for <meter> elements in UA stylesheets. the existing value meterbar is now an alias for meter ( bug 1501483 ).
    • progress-bar , which is now used as the default value for <progress> elements in UA stylesheets. the existing value progressbar is now an alias for progress-bar ( bug 1501506 ).
    • textarea , which is now used as the default value for <textarea> elements in UA stylesheets. the existing value textfield-multiline is now an alias for textarea ( bug 1507905 )
  • The behavior of user-select has been changed to make it align more with other browsers (bug 1506547). Specifically:
    • user-select: all set on an element no longer overrides other values of user-select set on children of that element. So for example in the following snippet:
      <div style="-webkit-user-select: all">All
        <div style="-webkit-user-select: none">None</div>
      </div>
      The <div> with none set on it is now non-selectable. Previously this value would have been overriden by the all value set on the parent element.
    • non- contenteditable elements nested inside contenteditable elements  are now selectable.
    • user-select now behaves consistently inside and outside shadow DOM.
    • The proprietary -moz-text value has been removed.
  • CSS environment variables (the env() function) have been implemented (bug 1462233).

Removals

  • The  layout.css.shape-outside.enabled pref has been removed; shape-outside , shape-margin , and shape-image-threshold can no longer be disabled in about:config ( bug 1504387 ).
  • Several Firefox-only values of the user-select property have been removed — -moz-all-moz-text , tri-state , element , elements , and toggle . Seebug 1492958 andbug 1506547.
  • As mentioned above, the frames() timing function has been removed (bug 1496619).

SVG

No changes.

JavaScript

  • Intl.RelativeTimeFormat is now supported (bug 1504334).
  • Strings now have a maximumlength of 2**30 - 2 (~1GB) instead of 2**28 - 1 (~256MB) (bug 1509542).
  • globalThis has been implemented (bug 1317422).

APIs

New APIs

  • Readable Streams have been enabled by default (bug 1505122).
  • TheStorage Access API has been enabled by default (bug 1513021).

DOM

DOM events

  • Going forward, only one Window.open() call is allowed per event (bug 675574).

Web workers

Fetch and Service workers

Media, Web Audio, and WebRTC

Canvas and WebGL

  • The WebGL BPTC and RGTC texture compression extensions have been exposed (bug 1507263).

Removals

  • Mutation events have been disabled in shadow trees (bug 1489858).
  • The non-standard MediaStream property currentTime has been removed (bug 1502927).
  • The dom.webcomponents.shadowdom.enabled and dom.webcomponents.customelements.enabled prefs have been removed — Shadow DOM and Custom Elements can no longer be disabled in about:config ( bug 1503019 ).
  • The non-standard DOM text event — fired to notify the browser editor UI of IME composition string data and selection range — has been removed (bug 1288640).

Security

Networking

  • WebSockets have been implemented over HTTP/2 (bug 1434137).

Plugins

No changes.

Other

  • Support forWebP images has been added (bug 1294490).
    • In addition, to faciliate cross-browser compatibility in certain situations the WebP MIMEType ( image/webp ) has been added to the standard HTTP Request Accept header for HTML files (bug 1507691).

Changes for add-on developers

API changes

Menus

Tabs

  • The  tabs API has been enhanced to support tab successors — a tab can have a successor assigned to it, which is the ID of the tab that will be active once it is closed (bug 1500479, also see this blog post for more information). In particular:
    • The tabs.Tab type now has a successorId property, which can be used to store/retrieve the ID of the tab's successor.
    • The tabs.onActivated event listener's callback has a new parameter available, previousTabId , which contains the ID of the previous activated tab, if it is still open.
    • The  tabs.update() function's updateProperties object has a new optional property available on it, can successorTabId , so can be used to update it.
    • successorTabId is also returned by functions like  tabs.get()   and  tabs.query() .
    • Two new functions are available, tabs.moveInSuccession() and tabs.moveInSuccessionAfter() , which allow manipulation of tab successors in bulk.

Manifest changes

No changes.

Other

  • The headerURL / theme_frame properties forWebextension themes are now supported on Firefox for Android (bug 1429488).

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK