Joystick API, Subtitles, Remote Desktop and bouncing animations
Published on in Google Chrome, Last Week, tech, WebKit. Version: Chrome 16
Due to the absence of last week’s update as I was having a vacation, this article covers the past two weeks. In total, 1,118 commits happened at WebKit and 1,743 at Chromium, totaling up to 2,861 changes.
Last week, an extension has been released which implements Remote Desktop support to Chromium. Previously known as Chromoting, the extension allows you to remotely see and control any computer on any platform.
Web Inspector is still gearing up to support source mapping for languages such as CoffeeScript. Highlighting inline elements now differentiates between paddings, borders and margins and the heap snapshot color legend will pop-up again. Furthermore, many more files have been added to the script compilation.
Firstly, WebKit’s implementation of the HTML5 <track> element has finally matured enough to be exposed to web authors without custom builds. By supplying the --enable-video-track command line switch to any recent Chromium build, all available elements, attributes and properties will be exposed to your scripts. While the implementation is still incomplete, it’s definitely one to play around with.
A lot of work has been done in implementing CSS Regions in WebKit. The majority of overflow behavior has been implemented now, covering clamping a region’s descendants to their containing region, correct box painting of overflowed content into regions and proper behavior for the hidden, auto, scroll and visible values for the overflow property. Block splitting for regions with variable widths has been implemented, positioned objects will now use the first region as their initial containing block and the region-overflow CSS property and outlines are now supported.
As for the CSS filter property, the property syntax can now be parsed with the exception of the drop-shadow function, and can also be retrieved through the getComputedStyle method. Infrastructure for applying filters has been implemented, and the feColorMatrix saturation won’t be clamped between 0 and 1 anymore, per the spec.
As for specification support, font shaping through the font-feature-settings CSS property has been implemented on Windows. RGB colors using percentages now show the correct hex and HSL values, support for currentColor has been implemented for gradients, box-shadow and text-shadow. Attribute selectors have been added to the fast-path selector and have been taught how to share their styles.
Values in the cubic-bezier timing function are no longer clipped between 0 and 1, which allows bouncing effects. The -webkit-tap-highlight-color property is now available for all ports which enable touch events, and the text-transform property will now apply to select elements.
The method, enctype, formMethod and formEnctype attributes will now only accept known values. Web Sockets now have the extensions attribute, drawing stroked lines on a canvas may now be done by the proprietary webkitLineDash and webkitLineDashOffset attributes and audio elements will now emit the playing event for each run. For JSC, Object.prototype getter and setters have been aligned with ES5, as has Array.prototype this-handling.
Accessibility-wise, the new HTML5 section elements now map to the appropriate ARIA roles. Following this change, screen readers can actually understand your newer HTML5 code.
Other changes which occurred in the past two weeks:
- The Web Audio API has been enabled by default for WebKit on Mac OS X.
- Usage of floats and doubles has been made consistent within the Web Audio API.
- The Chromium Security Team is looking in to rendering cross-site iframes in separate processes.
- More speed ups for JavaScriptCore: 5%, 2% and 0.7% on various performance tests.
- The requestAnimationFrame method has been enabled for WebKit on Windows.
- Selection now works properly again with bidirectional text.
- The SPDY implementation in Chromium can now select on other ports than just 443.
- Support for the connect-src directive was added to the Content Security Policy implementation.
- Performance of the feBlend SVG filter has been improved by about 20 percent.
- IndexedDB now supports getDatabaseNames and will also use LevelDB for in-memory databases.
- The threaded compositor may now be tested through a new switch: --enable-threaded-compositing.
- The DOM WheelEvent can now differentiate between physical and logical scroll directions.
- Implementation of Mozilla’s Joystick API is going to begin in WebKit.
- Early work for supporting zoom animations within WebKit for Chromium has begun.
- An example text-to-speech extension has been added to Chromium, to demonstrate the API.
- registerProtocolHandler is now also able to update already registered protocols.
- A synchronization promo is going to be enabled by default, already in Google Canary.
- Dragging multiple tabs at once has been implemented for Chromium on Linux.
- The chrome.tabs.* extension APIs do now support handling of multiple tabs at once.
- Improved support for ARIA live regions and various form elements has been implemented for Mac.
- Low-latency audio has been enabled by default for all platforms on Chromium.
- The high-contrast mode for visually impaired users is now available for the Profile menu.
- Tracking tasks may now be done via the new about:tracking page.
- Code for compact navigation has been removed from Chromium; the experiment ended.
Remind me not to skip next week, this was quite a write-up. More personally, thanks to all the awesome Fronteers 2011 attendees, speakers and organizers! I had a great time and the conference was a great success 🙂