Archive for July, 2011

Multiple profiles, disabling the cache and finding the audible tab

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

Another 490 commits landed in WebKit’s repository last week, together with a massive 938 commits to Chromium’s, totaling up to 1,428 changesets. This week’s highlights include the ability to completely disable cache in Web Inspector, per-user proxies and quite some changes to Chromium.

Whereas using proxies on Chromium OS used to be system-wide, thus shared among all users and networks, Kuan Tan has added support for more flexible per-user and per-network proxies. Especially for those using corporate networks, as well as personal ones, this is a very welcome enhancement.

Another notable addition is that active audio streams will now be displayed on the chrome://media-internals/ page. So if you’re one of these people with hundreds of tabs open when one of them starts making noise, now you know where to find which tab to close.

Web Inspector won’t pause anymore for caught exceptions in the console, can now import and export data in the Timeline Panel (also with some keyboard short-cuts), support for disabling cache altogether was implemented and a sidebar’s width can now be restored correctly.

As for specification related updates, using the “none” value when using multiple backgrounds will no longer break other images. Calculating the height of replaced elements has been fixed according to CSS 2.1 content height rules, support for HyBi WebSocket Frames has been added and the microphone icon for right-to-left input elements will now be positioned correctly, just like numeric input types have also been fixed for rtl.

v8′s implementation of serializing script values has been brought up to speed with the specification, a Ping-From header will now be included for cross-origin, non-secured connections when clicking <a ping> anchors, three new SVG elements won’t collapse anymore when paginating content.

Other changes which occurred last week:

And that’ll be all for this week again. Things to watch out for this week will be work on CSS Flexbox and Regions, as well as more media related commits.

Read more (6 comments) »

Web Sockets-10, invisible cursors for Windows and a fabulous animation

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

Last week brought 1,204 changes to the Chromium and WebKit repositories, with highlights such as work on the new Web Sockets protocol, a minimum window size on Windows and collectively improving Web Inspector.

Web Inspector is now able to show alert modal-dialogs in docked mode as well. More work has been done on enabling debugging of Shared Web Workers, performance of panel switching has been improved, resizing of the sidebar pane has been fixed for the Timeline and Profile panels and a flickering “please wait” message on Chromium has been removed. For Chromium, some infrastructure has been added for optionally gathering user metrics, which in the long run can be used to improve Web Inspector based on actual usage. Finally, welcome to John J. Barton!

As for improved specification support, Chromium on Windows is now able to hide the cursor by setting cursor: none. Canvas compositing with a global destination-atop now works properly, SVG Text rendered by Chromium will now always use geometricPrecision, associating form elements with non-existing forms has been aligned with the ES5 specification. Finally, in order to improve coverage of tests over the CSS Selectors implementation, the official test-suite has been imported.

Work on implementing the latest Web Socket Protocol is coming together nicely as well, tools are being updated, the new hand-shake has been implemented and a patch for the updated framing structure landed earlier today. Adobe added parsing of two new properties as well, CSS Region’s content-order property and Exclusion’s wrap-shape one.

Other changes which occurred last week:

And that’ll be all again. I’m going to try to get back on the schedule of publishing on Mondays :)

Read more (2 comments) »

Gardening tools, multiple-profiles and lots of changes in Web Inspector

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

Much later than usual, but live from Mountain View this time! Last week brought 838 updates, 468 at Chromium’s, the rest at WebKit’s. Highlights include work on a new tool for WebKit Gardeners, many updates for Web Inspector and two more parsing patches for Adobe’s CSS Regions.

Adam Barth started to work on a new Gardening tool for WebKit, called garden-o-matic. Gardening is the act of making sure that the build tree remains green, ensuring there are no unexpected test failures, etcetera. The idea is to provide a dashboard to developers allowing convenient access to actions like reverting changes, finding unexpected failures and the build which made them fail.

Now that WebRTC has landed as a Chrome dependency and work on implementing several related features in WebKit is well on its way, Magnus Flodman landed an early implementation of the Media Stream Manager. This Manager will coordinate between WebKit’s API, permissions, WebRTC and of course your camera and microphone, ensuring that the feature will work smooth and secure.

The multiple profile feature has received quite some work as well this week. The setup UI for a new profile has been implemented, deleting profiles now is a possibility, the displayed avatar can be customized and will contain most profile-related options. Finally, it has been enabled by default on the Views UI, presumably Chromium OS.

An incredible amount of changes happened for Web Inspector last week. You can now drag and drop elements and other nodes in the Element Pane, a new settings panel has been added, and cache and cookies can soon be removed via the Network Panel. Speaking of which, you can now also search in the Network Panel, albeit still limited to filenames and paths.

The specificity of !important properties for the Inspector has been fixed, links to stylesheets will now open in the Style Panel, multiple resources will be shown when a URL is referred to multiple times and requests made by plugins will be shown in the Network Panel. Finally, it’s now clearer how to add a new style rule and adding CSS properties will no longer result in messy CSS rules.

As for specification related updates, the value property of an indeterminate progress bar will now return zero. A change event will be triggered when the selected files of a file input change, column-break-inside: avoid has been re-enabled and more key-bindings have been added to range inputs. Furthermore, parsing capabilities for the flow and from-flow properties, as part of their CSS Regions proposal. Finally, more work on switching WebKit’s Render Tree to a float-based representation has been done.

Other changes which occurred last week:

And that’ll be all! I will be in the Mountain View area until July 23rd and will attend Open Web Camp III (thanks, John Foliot!). If you want to meet up, feel free to drop me a note.

Read more (4 comments) »

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!

Read more (6 comments) »