WebCL Prototype, a new XML Parser and the Web Audio API for all

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

Last week brought 1,367 changes to the projects, 572 for WebKit’s repository and 795 for Chromium’s. Highlights include Samsung’s WebCL prototype, an experiment which disabled modal dialogs in the onunload event and the recent steps to move away from an integer-based render tree.

Samsung has announced the direct availability of a WebCL implementation for WebKit. While the prototype is limited to newer Apple laptops running Mac OS X, the work by itself looks promising. Nokia did something similar, they created a WebCL extension for Firefox.

Just over a week ago, Sreeram Ramachandran posted a message to the webkit-dev mailing list with statistics about websites using modal dialogs in the onunload-event: 2.3% of all users encounter at least one such modal dialog every week. Despite mixed opinions on the list, Chromium will no longer allow modal dialogs (such as those spawned by confirm() and alert()) in this event.

A few interesting changes have been made for Web Inspector. The boundaries of grouped console messages have been clarified, and nested groups won’t be merged anymore. Preparations have been made to allow pseudo-class style inspection in the future and various new entries have been added in the HAR output for requests. Finally, node selection has been sped up significantly.

Quite some work has been done in the effort to move away from using integers for Layout in WebKit. The main rationale behind moving towards a float-based rendering tree was to allow for better zooming and scaling support, but in the long run this may lead to support sub-pixel layout and positioning. WebKit is the only engine which doesn’t support this internally yet.

As for standards support, WebKit now handles adjacent sibling-selectors with the <nav>-element correctly. Multiple e-mail addresses may now be separated by spaces, the legacy color-attribute parser has been updated to match the HTML5 specification (by Tab!) and the autocomplete DOM property for forms is functional again. Support for the plaintext value for the unicode-bidi CSS property has been added as well.

Other changes which occurred last week:

  • The Web Audio API is now enabled on all platforms in Google Chrome and Chromium!
  • The maximum depth of nested HTML nodes has been lowered to 512, down from last week’s 2048.
  • The slider thumb of <input type=range> won’t be displayed upside down anymore on Mac OS X.
  • An experimental Extension API was added for displaying App notifications on the New Tab Page.
  • The SVG Morphology’s performance has been improved by 20-25% by utilizing multi-threading.
  • Support for binary MHTML files was added to WebKit’s brand new MHTML parser and serializer.
  • Keishi Hattori removed the spaces at line-endings when copying text from view-source pages, yay!
  • Upload input-fields with the multiple attribute supplied will now inform the user of this capability.
  • A settings panel has been implemented for Web Inspector, though disabled by default.
  • Work on Apple’s new Data Flow Graph JIT steadily continues. It’s quite interesting to follow.
  • Work has started on a Media Chunk API, allowing “chunks of media to be passed for rendering”.
  • An explanation was added to Chrome’s Extension API docs about synchronous v.s. asynchronous.
  • Multiple-tab selection has landed for Chromium on the Linux platform.
  • V8’s date parser will now properly handle all ECMAScript 5 date formats.
  • Chromium on Mac OS X may be able to render websites using the Skia engine soon.
  • Adobe added a build slave to WebKit for their work on CSS Regions.
  • In preparation of work on an own XML Parser for WebKit, the existing files have been moved.
  • LevelDB is now the default back-end for IndexedDB on Chromium.
  • Secure peer-to-peer sockets based on UDP packets has been added for Remoting.
  • Address space layout randomization has been enabled for Chrome builds.
  • Right-clicking on text-boxes in Chromium now allows you to add them as a search engine.
  • The version of the SunSpider JavaScript test-suite has been upped to 1.0.
  • The pseudo-random number generator in v8 has been improved for better results.
  • Nokia has announced to stop working on their WebKit1-based QtWebKit API, in favor of WebKit2.

And that’ll be all again. Happy 4th of July for those in the United States!

6 Responses to “WebCL Prototype, a new XML Parser and the Web Audio API for all”

Both comments and pings are currently closed.


July 5, 2011 at 9:50 pm

Hyatt on the XML parser thread, 3h ago: “””Writing a new XML parser is a complete waste of time. If libxml has problems, fix them. If you throw out libxml, you’d have to throw out libxslt as well. The end result is not worth the engineering effort it would take to build it and make it work better than libxml/libxslt.”””

Peter Beverloo

July 5, 2011 at 9:51 pm

I saw his comment yeah, curious about whether the work will be reverted. Most other replies were tentatively positive.


July 8, 2011 at 3:15 pm

Hey Peter, hope your new job is going great, and thanks for keeping going with the updates. If you have time, it would be great if you could blog about your experiences working for the Chrome team. Obviously nothing secret, just a bit about how things work behind the scenes, how the team organises across timezones, etc.

Peter Beverloo

July 12, 2011 at 12:58 am

Thanks! While I like the idea on itself, there’s not much I can say on most of these subjects I’m afraid. I’ll have a think about it though.