Last week in WebKit:
page, are you still there?

Another busy week in WebKit. The refactoring craze is calming down, and people are focusing on making WebKit fast and rock solid.

New behaviors

A great change this week was Simon Fraser unprefixing the Page Visibility API. If you want to try, the feature is enabled on the WebKit Nightly builds.

Some other change and interesting bug fixes for webpages:

  • Filip Pizlo fixed !(0/0) in DFG. If like me you wonder what the expression evaluate to, 0/0 is NaN in JavaScript, and !NaN is true.
  • Another interesting/weird fix by Filip was the evaluation of (-2^31/-1)|0.
  • Robert Hogan changed how text with nowrap and ellipsis layout in the presence of a floating object. Previously, the line width would be computed up to the floating object, which is incorrect with nowrap. Now the line will extend to the end of the box, and the ellipsis computed accordingly. That behavior is not particularly useful but at least is it consistent with the case without ellipsis and follows the specification (and matches Firefox’s behavior.)
  • Mihai Tica updated the implementation of background blending to match the latest specification. Instead of applying the blend operation with the pixels underneath the element, the blend now only applies on the background color and background images below the currently rendered image.
  • Claudio Saavedra continues his work on CSS Variables. This week, he made sure the prefix used when using CSS Variables is “-webkit-var (it was previously case insensitive, “-WebKit-var” was okay to define variables). The variable name itself is still case sensitive.

Engine engineering

As usual, there were performance improvements this week. Some of them:

In addition to the performance improvements and bug fixes, there were some architecture changes.

The WebKitten of the Week is Simon Fraser for pushing the unprefixing of Page Visibility API (and making Flickr scrolling super fast.)