Archive for March, 2012

WTF’s move, image-set() CSS Function and Cross-Origin Scripts

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

With 901 commits at WebKit, and 1,298 at chromium’s, last week boosted up to a massive 2,199 changes to the repositories. Highlights include a that WTF no longer is part of JavaScriptCore, a new image-set() CSS function and SPDY/3 which can now be enabled through about:flags.

Following much discussion and preparation, including e-mail threads going back more than a year, Eric Seidel moved the WTF (Web Template Framework) code out of JavaScriptCore. It initially settled there in 2005 as the kxmlcore directory, after which it got renamed to WTF in 2006 as many more useful classes had been included there.

JavaScript files and stylesheets will now be editable by default in Web Inspector’s Resources Panel. Highlighting of SVG root elements with a custom viewbox has been fixed and Source Maps may now be defined inline.

An initial implementation of the image-set() CSS function landed in WebKit, as was proposed for the CSS Images Level 4 module last month. Mixed percentage and absolute combinations for calc() may now be used for masks, background positioning and image sizing, Hyatt is working on the new Multiple Column implementation and fieldsets won’t stretch to minimum intrinsic width anymore if an explicit width has been specified. Besides various other Flexible Box Layout changes, the flexing algorithm got updated.

The crossorigin attribute may now be specified on script elements, causing WebKit to apply the Cross-Origin Resource Sharing policy on script elements as well. Three DOM-mutating JavaScript errors have been updated to align with the DOM4 specification and WebSocket’s Sec-WebSocket-Accept may not occur multiple times anymore.

Other changes which occurred last week:

Finally, if you have interest in Adobe’s recent work on WebKit, they recently hosted a hackathon which yielded some interesting results. It’s a good read!

Read more (no comments) »

Battery Status API, many form changes and animVal for SVG

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

Exactly 1,234 patches landed in the Chromium repository last week, and 751 in WebKit’s, totaling up to 1,985 changes. Highlights include many form-related changes, the Battery Status API and performance improvements.

All signed and float Typed Arrays will now show up as normal arrays in Web Inspector. Taking heap snapshots should now be 12% faster and work is being done in preparation of supporting snippets in the Script Panel. A meta bug covering that work is available on WebKit’s Bugzilla.

CSS parsing now follows the specification when it unexpectedly runs into the end of a file and widths set on a column group won’t affect a column’s width anymore for fixed-layout tables. Three issues with the Flexible Box Layout implementation have been fixed, the “em” unit will be used correctly even when a :first-line pseudo-element changes the size and calc() can now mix percentages and absolute values for gradients and fonts.

The HTML5 meter and progress elements aren’t formassociated anymore, out-of-document radio buttons are now grouped when associated with a form and the form-attribute for labels had its behavior updated. The outer element is now labelable, while hidden input fields have lost that capability. Despite being reverted, support for color inputs seems to be really close for Chromium now.

Samsung has landed an implementation for the Battery Status API, to be enabled on the EFL port. As for Speech Recognition, stubs for WebCore’s controller and the client landed, as well as the SpeechRecognitionEvent part of the API. The MediaStream’s PeerConnection implementation has been deprecated as it’s moving towards a JSEP API. Meanwhile, Nikolas Zimmermann has been busy implementing proper animVal support for SVG.

Besides support for Mozilla’s FullScreen API, WebKit now also supports the very similar W3C Fullscreen API. The primary differences lie in capital usage for the methods and behavior while exiting fullscreen.

Other changes which occurred last week:

Two patches to keep an eye out for are work on making CSS Shaders compile on Chromium and a new image-set CSS property. That’s it again!

Read more (7 comments) »

Improved calc() support, Managed Mode and Flexible Box wrapping

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

1,728 changes found their way in the repositories last week, 1,013 for Chromium and 715 for WebKit. Highlights include improved support for -webkit-calc(), Number.isNan/isFinite support in v8 and progress on ES6’s modules.

Work is being started to implement one-click login to Chrome in the browser. In a nutshell, when Chrome isn’t connected to a Google Account and you log in to, for example, GMail, the browser will ask whether you want to synchronize your data to your profile. For now, it’s still disabled by default and is very likely to change. Also new in Chromium is work on a Managed Mode API, which will provide a way to pre-configure, lock and force a certain profile.

As for Web Inspector, not all percentage signs will attempt to be substituted anymore, the Network Panel will show application/json data again and inactive properties will be checked for vendor prefixes. The button allowing you to toggle the Timeline Panel’s overview mode has been moved and the Inspector has gotten more efficient at inspecting arrays containing large (~a million) elements.

WebKit’s implementation of the CSS calc() function is now able to mix absolute values and percentages for lengths. The Flexible Box Module’s flex-wrap property has been implemented, also for reversed wrapping, and margins won’t be double counted anymore when baseline alignment is used. Finally, multiple values are now accepted for the unicode-bidi CSS property, as an union with bidi-override and isolate is now valid.

Three changes to the JavaScript Speech API have landed, namely the SpeechRecognition(Alternative, Error, Result, ResultList) and the SpeechGrammar(List) interfaces. Support for SVG’s transform-origin attribute has been implemented, getComputedStyle’s result for the height property no longer takes intrinsic paddings into account and rendering of the <shadow> element is now implemented, defining the insertion point for older shadow sub-trees.

Within v8, the Object.is() and Number.isNan/isFinite methods have been implemented. Basic infrastructure for JavaScript ES6 modules is available, and the result of Math.sqrt() will now be consistent on Intel platforms.

Other changes which occurred last week:

Thanks for reading 🙂

Read more (3 comments) »

Viewport-relative CSS Units, Speech API and synchronized Extension Settings

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

Another 1,806 changes landed in both repositories last week, 755 for WebKit and 1,051 for Chromium. Highlights include new viewport-relative CSS units, work on a JavaScript Speech API and ..

Within Chromium, a new page on the New Tab Page has been added aiming to provide suggestions of pages to visit, which can be enabled through about:flags if you’d like to follow the progress. As for extensions, Settings will now be synchronized by default, the Font Settings API has received a setFontName method and a sample extension demonstrating the Download API’s download() method is now available.

Style declarations within Web Inspector can now be added anywhere in the declaration rather than just at the end. The DOM counter graphs aren’t experimental anymore, color pickers will be closed when either escape or enter gets pressed and timeline records will be opened when you click on a DOM counter graph. Furthermore, the Profiles panel has been enabled for Web Workers and suggestions will now be given for Watch Expressions.

WebKit now supports an intra-line character grid for Japanese text layouts. The initial value for the -webkit-flow-into CSS property has been changed to “none”, the display type for inline flexboxen is now supported and David Barton is continuing his work on improving MathML support, this time by fixing <msubsup> formatting. The :empty pseudo-selector won’t apply anymore when scripted additions occur, clipping behavior for a fieldset’s <legend> element has been fixed and the :scope pseudo-class is now supported as well.

The Shadow DOM’s ShadowRoot has been taught about the innerHTML property, and the <content> element will now behave like an unknown HTML element when it’s used outside of a Shadow DOM sub-tree. Microdata’s property collections gained the namedItem method and the NamedFlow object for the CSS Region implementation now has the getRegionsByContentNode method. SVG’s <use> element has been integrated with the Shadow Root implementation and work is being done to stop SVG from mutating CSS styles directly.

Joe Thomas landed support for three new CSS units: vw, vh and vmin. These units allow you to define sizes based on the viewport’s width, height or smallest of the two. Following an announcement on webkit-dev, Hans landed an initial patch towards implementing the JavaScript Speech API.

Other changes which occurred last week:

And that’ll be all again, cheers for reading.

Read more (1 comment) »