Release Notes for Safari Technology Preview 43

Safari Technology Preview Release 43 is now available for download for macOS Sierra and macOS High Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 223209-223953.

If you recently updated from macOS Sierra to macOS High Sierra, you may need to install the High Sierra version of Safari Technology Preview manually.

Cache Storage API

  • Activated Cache Storage API by default (r223433)
  • Added API to clean CacheStorage data (r223213, r223220, r223263, r223702)
  • Enabled Cache Storage API implementation to compute storage size (r223558)
  • Implemented listing origins for which CacheStorage is storing data (r223299)

Web Animations

  • Added animations to the timeline (r223825)
  • Added basic timing and target properties (r223883)
  • Provided basic timeline and animation interfaces (r223779)

ImageBitmap

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

Geolocation API

  • Exposed Coordinates.floorLevel (r223211)

Drag and Drop

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

CSS

  • Added support for ::before and ::after pseudo elements on elements with display:contents (r223748, r223810, r223898)
  • Resolved ::before and ::after pseudo elements during style resolution (r223604)

Rendering

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

WebGL

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

Bug Fixes

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

JavaScript

  • Optimized __proto__ getter to be faster (r223594)

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 (r223778)
  • Turned on the Canvas Tab by default (r223920)
  • Added support for HAR Export in the Network Tab (r223856)
  • Enabled a JSON tree view for JSON content (r223806)
  • Fixed resizing the Console drawer to match the cursor position (r223931)
  • Enabled up and down arrows to modify CSS number values in the redesigned styles sidebar (r223336)
  • Added color picker inline widget to the redesigned styles sidebar (r223575)
  • Applied syntax highlighting to property values in the redesigned styles sidebar (r223453)
  • Enabled autocompletion to property names and values in the redesigned styles sidebar (r223283)
  • Enabled the go-to arrow in the Computed Tab of the redesigned styles sidebar (r223333)
  • Fixed Layers Tab mistakenly throwing out the root element’s layer (r223428)
  • Made 3D objects selectable in the Layers Tab visualization (r223209)
  • Changed the split console to use the full width of the tab view (r223310)
  • Changed Clear button back to the Trash icon in all tabs (r223268)
  • Prevented popovers when scrolling the editor while debugging (r223807)

Web API

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

Web Driver

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

Payment Request

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

Subresource Integrity

  • Added support for integrity="" on module scripts (r223237)

Accessibility

  • Exposed explicitly-set aria-sort value of "none" as an object attribute (r223522)