Reverse flexible rows and columns, Socket API and Panels
Published on in Google Chrome, Last Week, tech, WebKit. Version: Chrome 17
Following the relatively low count of 1,097 changes two weeks ago, last week introduced a combined total of 1,945 changes, 1,186 at Chromium and 759 at WebKit. While many of these changes were part of the rush for features to make it into Google Chrome 17 (which will be branched tomorrow), highlights include two important new features for the Flexbox implementation and a Socket API.
A few updates have been made to Chromium’s extension APIs, namely that the MHTML and webRequest APIs have been moved out of the experimental namespace, and a checkpoint commit for a new Socket API. While it’s not functional yet, it will eventually allow for extensions such as SSH and IRC clients to be made.
The visual appearance of Panels has been worked on quite a lot last week, with a visual refresh landing on Chromium for Mac OS X, together with a three-stage minimize animation. For Windows, the UI has been updated as well, and Panels can now also be drawn in iconified mode.
As for specification support, WebKit’s implementation of the bdo, bdi and output elements is now mostly aligned with the HTML5 specification. Limited parsing for the grid-columns and grid-rows properties has been implemented, CSS Filters will now render correctly on transformed elements and CSS Flexbox has been taught about reverse rows and columns. Images’ sources can be overwritten using the CSS content property now, and the correct focus rings for areas defined in an image’s image map will now be shown for zoomed pages.
The getMatchedCSSRules() method now knows how to handle pseudo-elements, SVG Gaussian blurs in a single dimension have been corrected, dragging the mouse out of :active elements will make it lose :hover as well and both range sliders and spin buttons have been fixed for usage in multiple columns.
To name a few improvements in accessibility support: multi-line selects on Windows will now expose the right states, tabs, menu and list items will receive mouse events and non-focusable nodes will no longer report to be focusable.
Other changes which occurred last week:
- More static initializers have been removed from the Chromium source.
- Chromium will now identify itself as another browser for two specific sites using Silverlight due to UA sniffing.
- Intel landed an SSE optimization for two math functions used for Web Audio API, doubling their performance.
- Chromium’s compositor is now able to use scissor-rect optimizations.
- Usage of “JavaScript” versus “Javascript” has been made consistent throughout Chromium.
- IndexedDB cursors will now be pre-fetched, yielding up two 2x performance improvement.
- The determination of whether HTTP pipelining is supported for a certain host has been made more careful.
- Apple’s JavaScriptCore can now JIT integral arrays, and now features optimized string equality checks.
- WebKit’s WebIDL’s implementation has been taught about static methods.
- Style sharing has been optimized by Antti Koivisto; 20% less style memory and +25% matching performance.
- Apple seems to be working on bringing Web Notification support to Safari.
- Alejandro G. Castro is now a WebKit reviewer, congratulations!
- A patch by Mark Pilgrim appears.
This week I expect Chromium to reach version 18, lots of additional BlackBerry upstreaming and more work on scoped stylesheets. That’ll be all again!