Last week in WebKit:
Vibration API and compressed WebSockets

Another 754 commits managed to find their way in WebKit’s repository last week, bringing many updates including support for the Vibration API, WebSocket’s DEFLATE extension and parsing for two CSS Grid Layout properties.

Web Inspector’s Audit Panel gained the ability to warn developers about CSS properties which should be unprefixed. The Ctrl/Cmd {+,-,0} key combinations may now be used to control zooming of the inspector, attributes containing links can now be properly selected in the Elements Panel and, while it’s not enabled by default yet, managing IndexedDB is making visual progress now. Showing re-paint rectangles is now an Inspector option and three patches landed preparing changes in the Timeline Panel, such as the ability to align events by their start time.

Following inflator and deflator classes, WebKit’s WebSocket implementation now supports per-frame compression through the DEFLATE extension. Samsung’s Kihong Kwon landed initial support for the Vibration API. The zero-width joiner (0x200D) and non-joiner (0x200C) characters are now recognized by the JSC and v8 lexers, the PopStateEvent’s state property now equals history’s state property’s value and spin buttons now fire two events.

Initial parsing support for the grid-column and grid-row CSS properties has been added as part of support for the CSS Grid Layout module. <rt> elements won’t inherit the text-decoration property anymore, file upload controls can now stretch to make sure the text fits in the label and the click event for transformed SVG elements now is more reliable.

Apple’s JavaScriptCore is now a triple-tier virtual machine, adding a new low level interpreter which is 2 to 2.5 times as fast as the old one. While performance of the triple-tiering engine is neutral on performance tests, reducing the amount of JIT’ed code delivers strong performance improvements on actual websites.

Other changes which occurred last week:

  • Style and link elements will now emit load and error events based on whether the stylesheet was successfully loaded.
  • An empty skeleton of KURL based on WTFURL, a new URL parsing library, has been added.
  • The requestAnimationFrame mechanism has been enabled for the BlackBerry port.
  • The drop-shadow() CSS filter can now be applied to composited layers on Chromium.
  • An IDL attribute checker has been added to the generator, and is now enabled for all ports.
  • The HTTP Referrer header will now be set when requesting media downloads.
  • The FractionalLayoutRect type has been added in preparation for sub-pixel layout support.