Archive for December, 2013

Element.matches(), the Cr tool and Happy Holidays!

Published on in Blink, Google Chrome, Last Week, tech. Version: Chrome 33

Last week, 470 authors made a total of 1,883 changes to the Blink, Chromium, v8 and Skia repositories. 1,803 changes were made in the week before that, some of which I’ll mention in this update as well.

Chromium’s Developer Tools already supported zooming in on the interface itself, which can now be reset by using <ctrl>/<cmd> + <0>. Using the same control key + <1…9> can now be used to switch between the different panels it offers. The DevTools now also support casting the screen of Android applications using the Chromium-based WebView, as well as filtering control output through a regular expression.

Philip landed a series of patches for making arguments non-optional on the DocumentElementLocation and Node objects and removed a few cases in which Blink treated null as an empty string. He also removed the fourth argument for the createNodeIterator and createTreeWalker methods on the Document object. Most notably, however, is that Philip also implemented support for the new Element.matches() method!

Support for parsing the “pan-x” and “pan-y” arguments for the touch-action CSS property have been added, following the Pointer Events specification. Setting text-overflow to ellipsis will now work when vertical writing modes are being used, and the :first-letter CSS pseudo-class will now been updated when new text will be added to the paragraph’s start. New focusing steps for the <dialog> element were also implemented.

Early implementation of the Element.animate() function has commenced, and is available behind a flag. An arc drawn on a canvas can not have an angle of more than 2*pi anymore. Support for limiting pointer events on an SVG element’s bounding box has been added. SVG now also supports the beginEvent and endEvent event listeners, and media elements now support the “resize” event.

Other changes which occurred last week:

  • Ian announced the “cr” tool, proposing it as a new way to manage Chromium checkouts.
  • The chrome.sockets and chrome.system.network Extension APIs have been promoted to the Stable channel.
  • Wording on the Incognito page has been tweaked to clarify what the feature does not provide.
  • The Chrome-Proxy HTTP header can now be used to bypass the mobile optimizing proxies.
  • Experimental support for playing videos on a Chromecast has been added for Chrome on Android 33.
  • Support for BITS (background downloading of components) has been enabled for Chrome on Windows.
  • The spinner and speech button images for input fields they apply to will only be shown when focused.
  • The Oilpan project, garbage collection in Blink itself, began landing code behind a compile-time flag.
  • A NEON version of the gaussian blur filter landed in Skia, yielding 10-15% improvements on a Nexus 10.
  • Keishi finished support for <datalist> on Android, and announced its availability on blink-dev!
  • The <webview> element now supports a captureVisibleRegion() API for creating a snapshot of the page.

This will be the last update of 2013. I published 22 articles in total, but definitely intent to do better in 2014. Happy holidays!

Read more (2 comments) »

Web Animations Engine, Promises and Datalist Support for Android

Published on in Blink, Google Chrome, Last Week, tech. Version: Chrome 33

Last week yielded 1,433 commits to the Blink, Chromium, v8 and Skia repositories. This article discusses them up to Chromium r238071.

CSS Animations and Transitions will now be driven by the new animations engine which will also power Web Animations. While Web Animations themselves are not enabled by default yet, this has already brought improved behavior and various bug fixes to Blink.

Keishi has brought <datalist> support to Android for most input types, which will be available starting Chrome 33. Meanwhile Fredrik has been fixing a broad range of issues in Blink’s WebVTT implementation, and Brendan added the “change” and “removetrack” events to TextTrackList and added support for TextTrack.id and TTL.getTrackById().

The base value of the “step” attribute of input elements will now be derived as specified in the HTML specification. Sandboxed iFrames can’t set document.domain anymore and the “overflowchanged” event will now be fired at the same time as requestAnimationFrame will fire. Finally, the first and last characters of a content-editable <div> element with display: table can now be removed.

Other changes which occurred last week:

  • Usage of all deprecated v8 APIs has been removed from Chromium and Blink.
  • Support for Promises has been implemented in v8!
  • Experimental support for sub-pixel font scaling has been added to Blink.
  • HTML Entities will now be highlighted in the Developer Tools’ DOM view.
  • Support for Custom Elements, parts of Web Components, will be available in Chrome Stable.
  • Chromium has been updated to use the Opus 1.1 beta-version.
  • v8 now implements Math.ceil() via the highly optimized Math.floor() implementation.
  • A command line flag has been added for running Chrome’s PDF plugin out-of-process.
  • The Chrome-powered Android WebView may soon be able to use WideVine-based encrypted content.

Cheers for reading.

Read more (no comments) »