Archive for September, 2010

Revision 60.000, first bits of the URL API and pingin’ the anchor

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

With the addition of another 552 commits in the last week, Chromium has breached the milestone of sixty thousand commits! In comparison, revision 60.000 landed in WebKit exactly four months ago. WebKit gained the contents of 539 commits last week, done by about a hundred different authors.

Support for the ping attribute on anchors (<a ping>) has been added in WebKit four days ago, following Firefox who had an implementation about four years ago. There are various ways to do this already, overriding the click-event and send out a ping using XHR, for example. The feature is still disabled by default, although a command line flag might be added in the near feature.

One of the things Adam Barth is currently working on is an URL API. Citing it, the API can be used for constructing, parsing and resolving URLs through scripting, easening up tasks like getting and setting parameters. Today the first part landed in WebKit, which added the “origin” property.

I’ve got quite some plans for the post next week, as I realize this one is lacking some graphical love. Until then, don’t forget that there’s an RSS Feed available for updates to Chromium’s command line flags, which could certainly give you a nice indication of what the team’s been working on!

Thanks to Ms2ger for a correction: Mozilla did not disable the ping attribute by default due to privacy concerns, but rather because the specification changed shortly before the Firefox 3 release.

Read more (5 comments) »

Last week: no more sarcasm, redesigned History UI and limiting freedom

Published on in Google Chrome, Last Week, Microsoft Internet Explorer, tech, WebKit. Version: Chrome 7

Well over 200 developers added value to the Chromium and WebKit projects last week, delivering a combined total of 1018 patches to the repositories. Different from a week ago, there weren’t any huge noticeable changes this week. Most work was part of larger projects or stability and performance improvements.

Still, there have been a few updates related to standard support. The document.lastModified property was updated according to HTML5 last Tuesday, the Canvas Context will now parse system colors and work on supporting the “block-flow” and “writing-mode” CSS properties seems to have been started.

More work has been completed last week on Google’s effort to move the options dialogs to webpages. You can enable the tabbed options page yourself by supplying the –enable-tabbed-options flag to Chrome or going to the about:labs page if you’re running Google Canary or Chromium. Furthermore, information and screenshots about the new History UI are available as well. Check out issue 52697 and the new designs.

Are you one of the poor folks working at a company which uses Internet Explorer as their primary browser, as well as (group) policies to severely limit your freedom? Good news! In the future you might be using Google Chrome with (group) policies which severely limit your freedom! The team seems to be gearing up in order to make their browser more interesting for larger organizations, as can be seen on the Documentation for Administrators page on the Chromium website, including quick-start guides for Windows, Apple and Linux.

Other changes in Chromium and WebKit last week:

And that’s it for this week! Keep in mind, if you’d like to see people like Brendan Eich, Steve Faulkner, Christian Heilmann, Paul Irish and Jeremy Keith speaking about the web, there’s only a few tickets left for Fronteers 2010. The conference will take place on the 7th and 8th of October in Amsterdam, the Netherlands. Finally, a big Thank You to Steve Souders and Juriy Zaytsev for commenting on the <script> loading graph!

Read more (1 comment) »

Last Week: Asynchronous script execution and GPU Acceleration by default

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

With just over a thousand commits in the last seven days, the majority of which were pushed towards the WebKit repository, activity seems to be slightly down in comparison with the previous weeks. Nevertheless, last week brought some interesting changes: changes to the script element, CSS timing functions and Hardware Acceleration for the masses.

On Wednesday Google made an announcement which was quite hard to miss: Google Instant. Google Search anticipates on what you’re going to search for and starts displaying results while you’re still typing. Chrome now features a similar possibility named match preview, although I think Chrome Instant sounds more appropriate. You can enable it by supplying the –enable-match-preview flag when launching Chromium, but keep in mind that the implementation still is rather rough.

Since the new HTML5 Parser and Tree Builder in WebKit kept timed script execution in mind, Tony Gentilcore was able to land support for <script async> only a few days after he added support for the defer attribute. To re-iterate, using the defer-attribute defers executing the script to after parsing the page has been completed. The async-attribute enables asynchronous execution of the script as soon as it’s available, therefore not blocking the parser.

Following the discussions of the face-to-face meeting of the CSS Working Group three weeks ago, Apple’s Dean Jackson modified the CSS3 Transitions and Animations modules to include a new timing function called “steps“. The name is fairly obvious: instead of having a continuous transition, the selected properties transition in a predefined number of steps. This timing function landed in WebKit last Thursday!

As you can see, all seven timing functions for transitions have been included in this example. The animated color-boxes in the JavaScript column show what a browser should be doing according to the specification, while the CSS column shows how your browser displays it. Furthermore, if you’re using a modern browser, you can see an animated graph displaying how a certain timing function works by clicking on its name!

Other updates which occurred in WebKit and Chromium last week include:

Finally, for the ones of you who like to be up-to-date as well, I’ve added RSS feeds for my Vendor Prefixed CSS Properties page (feed) and the overview pages of Google Chrome Command Line Switches (feed). Since most content on these pages gets updated automatically, I figured this would be a nice addition. While I cannot guarantee that they already work perfectly at this point, in theory they should be fine. See you next week!

Read more (7 comments) »

Last week: Tessellation and deferred script execution for 200 million people

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

Exactly 625 days after the release of the first stable version, the Google Chrome browser has hit an important milestone: over 10% of the internet users -about 197 million people- use Chrome as their browser. That equals about 315 thousand new users every day, which is rather mind blowing if you ask me. Being well aware of this, the Chromium and WebKit teams were responsible for another 1.137 commits in the last week!

The sixth major version of Google Chrome has been released as a stable version, bringing support for tons of new features and better performance and stability. Furthermore, for a brief moment it looked like Chromium would be getting an auto-updater. While this is something people have been asking for ever since the first Chromium builds were released, it looks like Google Canary will remain to be closest to that idea.

Hardware Acceleration already has been available in WebKit for a few months, but work continues to optimize performance. Now that 2D Canvasses may be accelerated too, work has been started on adding tessellation following Loop and Blinn’s algorithm. While this has caused quite some discussion, the first parts, including the polygon tessellator from OpenGL, have already landed. More details on the implementation being used are available as well.

As for new HTML and CSS related features, Tony Gentilcore added support for delayed script execution using the defer attribute. Furthermore, percentages may now be used as values for the border-radius CSS property. The used radius will be equal to the given percentage of the width or height of it’s border-box.

  • Video elements no longer automatically loop after playback has completed.
  • Enabling accelerated compositing in Chromium won’t make your scrollbar blue anymore.
  • Synchronous File Reader operations may now be used in Web Workers.
  • Clicking on a WebKit Notification now fires a click event.
  • The implementation of the Audio API in WebKit is being moved to the main development branch.
  • Scripts have been added to generate ADMX and ADML files for enterprise policies.
  • Chrome’s ready to run an entirely sandboxed (thus safe!) instance of Adobe Flash.
  • The experimental sidebar view (and API) is now available for Mac OS X users as well.
  • Text on the badge of an extension has a decent font size again (or too big this time?)
  • Audio Recording for speech input fields is now available for Linux as well, via ALSA.
  • The V8 JavaScript engine has reached version 2.4: various bugfixes and performance improvements.

A bit technical this week, I realize that :) For this week it looks like accelerated compositing and 3D CSS will be enabled by default and work on full-screen video could come closer to being finished. With Firefox implementing 3D CSS as well, I’m curious about the demos which surely could be arriving soon now.

Read more (4 comments) »