Archive for December, 2011

Reversed Lists, Animatable Filters, CSS Shaders and secure SSL

Published on in Google Chrome, Last Week, tech, WebKit. Version: Chrome 18

Another 1,492 commits have been added to the projects; 826 to Chromium and an evil 666 to WebKit. Highlights include support for <ol reversed>, lots of changes for CSS Filters and rendering CSS Shaders.

Going forth in improving security in the browser, Chromium will now display a fatal error when it encounters pages using SSL certificates signed with the MD2 and MD4 hashing algorithms, and will display an interstitial warning page for certificates signed with MD5. Certificates with RSA and DSA keys of less than 1024 keys will also be rejected.

Within Web Inspector, a sidebar has been added to the Script Panel displaying the included scripts on by their host. A large amount of internal properties of objects using the Detailed Heap Snapshot tool have been hidden and hex-colors with just three characters will now be highlighted.

As for specification related updates, Adam Barth made sure that six recent changes to the HTML5 parsing algorithm reflect in WebKit’s implementation. Clickable controls such as form fields may now be used as a <detail> element summary and cancelRequestAnimationFrame has been renamed to cancelAnimationFrame. Numbered lists can now be reversed using the reverse-attribute and XMLHttpRequest.responseXML now supports HTML documents.

A large amount of work has been done on the CSS Filter implementation. Filters are now animatable, they will affect visual overflow and several filters will now accept percentages as values. Finally, the implementation has been aligned with the specification and they can now be hardware accelerated, with an implementation for Apple’s Safari. Filters are now enabled for Chromium, and despite the security concerns, rendering CSS Shaders is now possible in WebKit builds which have the feature enabled!

Other changes which occurred last week:

Since next Monday happens to be Boxing Day, I’ll publish a (probably brief) update the day after, Tuesday the 27th. Thank you for reading and have a Merry Christmas!

Read more (1 comment) »

Animatable Background Images, Mutation Observers and !important

Published on in Google Chrome, Last Week, tech, WebKit. Version: Chrome 18

With 912 commits at Chromium and 590 at WebKit, totaling up at 1,502 changes, a fair amount of changes have happened again. Highlights include Mutation Observers for Chromium and animatable background images.

Chromium has reached a version number which equals a pentagonal pyramidal number: 18. In total, 7,107 Chromium commits, 4,198 WebKit commits and 526 v8 commits are included, totaling up to 11,831 changes for the Google Chrome 17 release, besides changes in other related projects such as Skia and NaCL.

Mutation Observers have been enabled for Chromium, which provide a much better alternative to DOM Mutation Events. Though still disabled by default, Chromium has been taught how to handle meta viewport elements, the scoped attribute for scoped stylesheets landed, table cells now understand widths in percentages and security around loading out-of-band text tracks has been improved by utilizing CORS.

WebKit now supports animations between background, border and list images utilizing the cross-fade() function which landed a few weeks ago. Parsing for multiple grid rows and columns has been added, as has parsing for the wrap and wrap-reverse values for the flex-flow property.

As a first step in being able to CSS Regions, background colors will now be applied. The behavior of !important in inline style sets has been aligned with the specification, automatic color adjustments for disabled input elements has been removed for Chromium and various more CSS 2.1 test failures have been fixed.

Other changes which occurred last week:

And that’ll be all for last week again. Things to keep an eye out for this week include custom written CSS Lexer and work by Simon Fraser to make the CSS Filter property animatable!

Read more (1 comment) »

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:

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!

Read more (5 comments) »