December 23, 2024

Safari Technology Preview 68 Lets Websites Detect Dark Mode on macOS Mojave

Posted October 25, 2018 at 2:51pm by iClarified · 8713 views
Apple has released Safari Technology Preview 68 which adds support for the prefers-color-scheme media query. This lets developers detect if a visitor is using dark mode and adjust their website colors accordingly.

Safari Technology Preview Release 68 is now available for download for macOS Mojave and macOS High Sierra. If you already have Safari Technology Preview installed, you can update in the Software Update pane of System Preferences on macOS Mojave and from the Mac App Store’s Updates tab on macOS High Sierra. After updating to macOS Mojave, you may have to reinstall Safari Technology Preview.

Here's a look at all the changes in version 68.

Web API
● Enabled input type="color" support (r236942)
● Fixed the Document and Window objects to lose their browsing context as soon as its iframe is removed from the document (r236862)
● Fixed incorrect input.checked when parsing its children (r236795)
● Fixed window.navigator and window.performance to not become null after the window loses its browsing context (r237185, r237209)
● Changed to restrict browsing context lookup by name to frames that are related to one another (r237112)
● Changed anchor target to be ignored on activation when the download attribute is set (r236987)
● Changed target="_blank" on anchors to imply rel="noopener" (r237144)
● Fixed incorrect garbage collection of JavaScript node wrappers held by MutationObserver and MutationRecord (r236850, r236801)

WebRTC
● Added VP8 support to WebRTC (r236821)
● Added support for IceCandidate stats (r236963)
● Added support for reporting “display composited video frames” through the VideoPlaybackQuality object (r236875)
● Added support for RTCPeerConnection.generateCertificate (r237140)
● Added support for RTCConfiguration.certificates (r237202)
● Implemented error handler of MediaRecorder (r237106)

Media
● Added support for inline WebVTT styles (r237187)
● Changed to use nanoseconds as MaximumTimeScale (r237208)
● Changed to only report the supported WebGL version (r237018)

CSS
● Added prefers-color-scheme media query support for styling dark mode content (r237156)
● Changed to resolve inset properties to computed style when there is over-constrainment (r236979)

Rendering
● Fixed slow tiling for CSS gradients (r237230)

JavaScript
● Added BigInt support for the bitwise | operator (r236901)

Web Inspector
● Added the ability to go directly from an event in the overview view to the specialized timeline for that event (r237195)
● Added support for showing redirect requests in the Network and Timelines tabs (r236995)
● Added table support for multiple selection and Command-Click behavior (r236853)
● Changed to use the iframe name attribute for FrameTreeElement (r236885)
● Changed to allow multiple canvases to be recorded at the same time (r236952)
● Created a special Network waterfall for media events (r237028)
● Exposed Server Timing response headers in the Network tab (r237151)
● Fixed the Canvas recording sidebar scroll position after switching tabs (r237196)
● Fixed the color contrast of the disabled Record button in the Canvas tab (r236986)
● Fixed capturing previously saved states and adding them to the recording payload in the Canvas tab (r237198)
● Fixed previews to be removed when the parent view is hidden in the Canvas tab (r237090)
● Fixed clicking the initiator link in the Network tab table to automatically switch to the Preview section (r236923)
● Fixed dark mode contrast issues (r236953, r237085, r237150)
● Fixed style editor warnings to not look like errors in dark mode (r237125)
● Fixed unreadable text when hovering over CSS properties while holding the Command key in dark mode (r237143)
● Fixed the “goto arrow” color for the selected DOM breakpoint tree element in dark mode (r237078)
● Fixed the detail view to be correctly shown after sorting the Network table (r237043)
● Fixed the detail view reverting to “Response” when new requests are added in the Network tab (r237061)
● Fixed the Open Resource dialog to show the path to the resource to disambiguate resources with the same name (r236918)
● Fixed the toolbar getting hidden when Web Inspector is docked to side (r237131)
● Fixed ^G (Control-G) to not wipe the line when jumping to the line in a CSS file (r237212)
● Grouped media network entries by the node that triggered the request (r236927)
● Indented all network entries when “Group by Node” is enabled (r237006)

WebDriver
● Fixed a bug where some key combinations such as Command-A can cause the WebDriver session to hang (r236939)
● Fixed a crash when a WebDriver session is terminated while waiting for simulated inputs to be handled (r236852)
● Fixed a hang when creating a WebDriver session for Safari Technology Preview (macOS Mojave only).

Payment Request
● Changed to abort requests after details settle when the user cancels (r236922)

Apple Pay
● Fixed new shipping methods getting ignored when updating after the shippingaddresschange event (r237142)
● Changed payment authorization results with ApplePayErrors to never be considered final (r237134)

Web Animations
● Fixed setting animation-name:none after a fill:forwards animation has completed to correctly revert to the unanimated style (r236809)

WebCrypto
● Changed ECDSA to be able to handle invalid signature inputs (r236820)

You can download Safari Technology Preview 68 from the link below.

Download