Minimum DOM Timer intervals, hiding extension badges and a faster YouTube
Published on in Google Chrome, Last Week, tech, WebKit. Version: Chrome 11
With 611 commits at Chromium and 733 commits at WebKit, last week brought a total of 1,344 changesets. Highlights include dynamic minimum intervals for DOM Timers and the addition of a chrome://crashes page.
Web Inspector will now reflect style changes when they occur without the Inspector, e.g. though a piece of JavaScript code. Furthermore, work has been laid out for improving the Web Inspector debugging protocol. A document on Google Docs has been created, carefully drafting the JSON-based protocol.
One downside of having a tabbed browser is that websites often remain open while you aren’t using them. Normally this isn’t a problem, but sites with high frequency timers can continue to use a lot of CPU this way. Therefore Chromium intends to make the minimum DOM Timer interval dependent on the visibility of the tab.
Following this WebKit patch, Kenneth Russell landed both support for dynamic values and an experimental decrease from 4 milliseconds for foreground tabs to 1 second for background tabs. While it was reverted shortly after it landed (and thus not available anymore), it certainly is an experiment to keep an eye out for.
Other interesting Chromium changes include the feature for Mac OS X users to hide extension badges via their context menu, addition of a chrome://crashes page to display recently reported crashes and renewed information about the latest version of Adobe Reader, Flash, Shockwave and RealPlayer. The minimum version of Java has been increased to make sure that the user’s installation includes a critical patch.
As for specification-related updates, Luiz Agostini continued his work on implementing the HTML5 <details> and <summary> elements by supporting localized text for them. Right now a patch implementing the element’s rendering is up for review. Support for “dir=auto” has been added, the prepare a script section of the <script> element has been implemented and Chromium was taught how to handle elliptical gradients.
A special note for Dave Hyatt’s monster patch which changed WebKit’s entire line box tree from using integers to using floats. This allowed for the removal of many rounding hacks and opens up the path for features such as sub-pixel positioning for fonts.
Other changes which occurred last week:
- Select elements may now be borderless on Chromium for Linux.
- The IndexedDB team has finished up implementing the new event model.
- Chromium’s WebDriver protocol gained support for manipulating cookies for a session.
- Initial support for per-origin quotas has been added to the IndexedDB implementation.
- The fast CSS selector path has been enabled for child and subselector combinators.
- The third part or the detailed heap snapshot implementation for V8 has landed.
- No more green pixels as the edges of certain GPU-accelerated videos due to this commit.
- Opening Adobe Reader for PDFs can be enabled by default via an information bar again.
- An initial version of the WebGL OES_vertex_array_object extension has been implemented.
- The parser will now yield for layout before running scripts, which improves the first paint-time
significantly for slower connection speeds (up to 20% on YouTube!). - The set and remove cookie methods from Chromium’s Cookie Extension API now support callbacks.
- Displaying fixed elements on scaled pages has been improved.
- Developers working on WebKit changes through Chromium can now access its debugging channels.
- SVG Animations are now able to animate to or from “inherit” and “currentColor” values.
- An initial implementation of the Pepper Transport API has landed for Chromium.
- Chromoting has received various minor updates, but still is not accessible for end-users.
- New icons have been committed for Chromium to indicate whether prerendering succeeded.
- Badges have been added to Chromium OS to display what kind of mobile network is being used.
Unfortunately, I won’t be around next week to write an update, so the next update will be two weeks from now. Check out Planet Chromium for updates in the meantime. See you on the 7th (or earlier elsewhere)!