Contents

Safari Technology Preview 13 Release Notes

Preview the latest web technology updates including: Fetch API, Custom Elements, JavaScript, Web APIs, Web Inspector, CSS, Rendering, Security, and Plugins.

Overview

Safari Technology Preview Release 13 is now available for download for both macOS Sierra betas and OS X El Capitan 10.11.6. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 204876–205519.

Fetch API

  • Added support for BufferSource bodies (r205115)

  • Fixed blob resource handling to raise a network error when the URL is not found (r205190)

  • Set the blob type correctly for an empty body (r205250)

  • Set the blob type from Response/Request contentType header (r205076)

  • Made the body mix-in text() decode data as UTF–8 (r205188)

  • Ensured response cloning works when data is loading (r205110)

  • Enabled the Fetch API to load the data URL in same-origin mode (r205265)

  • Prevented any body for opaque responses (r205082)

  • Changed opaqueredirect responses to have their URL set to the original URL (r205081)

  • Prevented setting bodyUsed when request construction fails (r205253)

  • Set Response bodyUsed to check for its body-disturbed state (r205251)

  • Changed response cloning to use structureClone when teeing a Response stream (r205117)

  • Aligned the internal structure of ReadableStream with the specifications (r205289)

  • Aligned data:// URL behavior of XHR to match specifications (r205113)

Custom Elements

  • Added adopted callback for custom elements on appendChild() (r205085)

  • Enabled reaction callbacks for adopted custom elements (r205060)

  • Updated the semantics of :defined to re-align with specification changes (r205416)

  • Added validations for a synchronously constructed custom element (r205386)

  • Added support for the whenDefined() method on the CustomElementRegistry (r205315)

  • Added a CustomElementRegistry check for reentrancy (r205261)

JavaScript

  • Enabled assignments in for…in head in non-strict mode (r204895)

  • Changed newPromiseCapabilities to check that the given argument is a constructor (r205027)

  • Fixed toString() to return the correct tag when called on proxy objects (r205023)

Web APIs

  • Added event support for <link preload> (r205269)

  • Implemented x, y and ScrollToOptions arguments for Element.scroll(), Element.scrollTo(), and Element.scrollBy() (r205505)

  • Updated location.toString to make it enumerable (r204953)

  • Updated location.toString in Web Workers to make it enumerable (r204954)

  • Changed Object.preventExtensions(window) to throw a TypeError exception (r205404)

  • Aligned coords and srcset attribute parsing with the HTML specification (r205030, r205515)

  • Added support for CanvasRenderingContext2D.prototype.resetTransform (r204878)

  • Aligned cross-origin Object.getOwnPropertyNames() with the HTML specification (r205409)

Web Inspector

  • Added IndexedDB Database, ObjectStore, and Index data to the details sidebar (r205043)

  • Added support for Shift-Command-D (⇧⌘D) to switch to the last used dock configuration (r205413)

  • Added support for Shift-Tab (⇧⇥) to un-indent the selected line (r204924)

  • Changed Command-D (⌘D) to select the next occurrence instead of deleting the line (r205414)

  • Added a visual indicator for shadow content in the DOM tree (r205322)

  • Allowed hiding of CSS variables in the Computed styles panel (r205518)

  • Fixed an issue that prevented using an Undo action in the breakpoint editor (r205499)

  • Prevented the resource content view from showing “CR” characters (r205517)

  • Fixed an issue preventing re-inspecting the page after a Web Inspector process crash (r205370)

  • Improved the minification detection heuristic for small resources (r205314)

  • Fixed an issue causing network record bars to be positioned on unexpected rows (r205349)

  • Provided a way to clear an IndexedDB object store (r205041)

  • Improved the debugger popover to pretty print functions (r205223)

  • Corrected unexpected cursor changes while dragging ruler handle in the rendering frames timeline (r204940)

  • Corrected the display of a plain text XHR response with responseType="blob" (r205268)

CSS

  • Implemented CSS.escape according to the CSSOM specification (r204952)

  • Improved CSS stylesheet checks to ensure clean stylesheets are accessible from JavaScript (r205455)

  • Improved :enabled and :disabled selectors to only match elements that can be disabled (r205050)

Rendering

  • Fixed scrollbars for a <table> with overflow content inside <div align="right"> (r205489)

  • Added support for non-BMP MathML operators U+1EEF0 and U+1EEF1 (r205111)

  • Fixed getting font bounding rect for MathML (r205031)

Security

  • Changed the Image Loader to set the fetch mode according its crossOrigin attribute (r205134)

  • Added a SecurityError when trying to access cross-origin Location properties (r205026)

  • Updated Object.defineProperty() and Object.preventExtensions() to throw an error for a cross-origin Window or Location object (r205358, r205359)

  • Updated Object.setPrototypeOf() to throw an error and return null when used on a cross-origin Window or Location object (r205205, r205258)

Plugins

  • Replaced YouTube.com Flash embeds with HTML5 equivalents on macOS (r205274)

See Also

2016