News

Safari Technology Preview 43 for Mac Release Offers Bug Fixes and Feature Enhancements

Apple on Wednesday released Safari Technology Preview 43, a new version of their experimental web browser, first released in March 2016. The browser allows developers and other interested parties to test features that may debut in future release versions of Safari.

Safari Technology Preview release 43 includes fixes and improvements for the following:

Cache Storage API

  • Activated Cache Storage API by default
  • Added API to clean CacheStorage data
  • Enabled Cache Storage API implementation to compute storage size
  • Implemented listing origins for which CacheStorage is storing data

Web Animations

  • Added animations to the timeline
  • Added basic timing and target properties
  • Provided basic timeline and animation interfaces

ImageBitmap

  • Added support for createImageBitmap with basic HTMLImageElement
  • Added createImageBitmap to Window and Worker
  • Aligned ImageData constructor with the specification
  • Implemented drawImage(ImageBitmap) on 2D canvas
  • Implemented resizing options for ImageBitmap rendering

Geolocation API

  • Exposed Coordinates.floorLevel

Drag and Drop

  • Fixed event.dataTransfer.getData(“text/uri-list”) to return an HTTP or HTTPS URL for a dragged image
  • Exposed “text/html” data when dragging and dropping across origins
  • Prevented exposing raw HTML in pasteboard to the web content

CSS

  • Added support for ::before and ::after pseudo elements on elements with display:contents
  • Resolved ::before and ::after pseudo elements during style resolution

Rendering

  • Fixed overlapping text on all CSS fonts specifications
  • Avoided triggering layout from a style change
  • Fixed fonts that are erroneously invisible when the policy says they should be visible
  • Fixed UTF-8 decoding to produce one replacement character per illegal sequence instead of per byte
  • Fixed corrupted image after looping movie-backed <img>

WebGL

  • Added WebGL2 texImage3D overloads
  • Avoided duplicate multisample resolve before WebGL compositing
  • Removed proprietary constants from WebGL2RenderingContext
  • Improved performance by performing pixel conformance and texturing in a single step
  • Improved performance by skipping texture upload if the source image and destination texture haven’t changed
  • Updated the signatures of texSubImage3D
  • WebGL clamps drawingBufferWidth to 4096 pixels on a 5120 monitor or canvas

Bug Fixes

  • Fixed an issue where the Delete button didn’t fully delete certain emoji
  • Updated cookie partition to add and remove accordingly in intermediary redirect requests

JavaScript

  • Optimized __proto__ getter to be faster

Web Inspector

The redesigned styles sidebar can be enabled in the Web Inspector Settings tab under Experimental.

  • Turned on the new Network Tab by default
  • Turned on the Canvas Tab by default
  • Added support for HAR Export in the Network Tab
  • Enabled a JSON tree view for JSON content
  • Fixed resizing the Console drawer to match the cursor position
  • Enabled up and down arrows to modify CSS number values in the redesigned styles sidebar
  • Added color picker inline widget to the redesigned styles sidebar
  • Applied syntax highlighting to property values in the redesigned styles sidebar
  • Enabled autocompletion to property names and values in the redesigned styles sidebar
  • Enabled the go-to arrow in the Computed Tab of the redesigned styles sidebar
  • Fixed Layers Tab mistakenly throwing out the root element’s layer
  • Made 3D objects selectable in the Layers Tab visualization
  • Changed the split console to use the full width of the tab view
  • Changed Clear button back to the Trash icon in all tabs
  • Prevented popovers when scrolling the editor while debugging

Web API

  • Prevented detection of HTML or XML when an XMLHttpRequest responseType is set to “text”
  • Prevented DOMTokenList from adding empty attributes
  • Stopped key events from updating Document.lastHandledUserGestureTimestamp unless a key event is handled
  • Added support for MouseEvent.buttons
  • Removed Fetch Request.type getter

Web Driver

  • Fixed handling of keyboard shortcut for “Select All” (Ctrl-a)
  • Simulating keyboard shortcuts for disallowed actions no longer triggers the glass pane dialog

Payment Request

  • Implemented the “PaymentRequest updated” algorithm
  • Implemented a paymentmethodselected event for PaymentRequest
  • Changed processing shipping options only if shipping is requested, and throw an exception on duplicate shipping option IDs
  • Changed to resolve the accept promise for PaymentRequest.show() when a payment is authorized

Subresource Integrity

  • Added support for integrity=”” on module scripts

Accessibility

  • Exposed explicitly-set aria-sort value of “none” as an object attribute

Users can either download the update from the Safari Technology Preview website, or if they already have the browser installed, they can download it via the Mac App Store. Full release notes for the update are available on the same website.

While the preview is intended for use by developers and advanced users, in order to provide Apple with feedback on the development of the Safari browser, it can be run side-by-side with the release version of Safari. The app doesn’t require a developer account to download and install. For more information, visit the Safari Tech Preview website.

Chris Hauk

Chris is a Senior Editor at Mactrast. He lives somewhere in the deep Southern part of America, and yes, he has to pump in both sunshine and the Internet.