Archive for October, 2012

Capturing a tab, Resolution Media Queries and timeouts for XMLHttpRequest

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

A lot has happened again last week, and this update covers the 739 WebKit and 995 Chromium commits which have occurred since. Highlights are the @host rule for Shadow DOM and resolution media queries.

A new extension API just landed in Chromium which adds support for capturing the contents of a tab through WebRTC. The API, tabCapture.capture(), works similar to getUserMedia() and also makes a LocalMediaStream JavaScript object available.

Resources using data: URIs in Web Inspector will now be trimmed at a reasonable point, increasing readability. Stylesheets will now also be reloaded when any in-use SASS resource has been saved in the Sources panel.

The @host CSS rule has been implemented, aiding in styling elements using Shadow DOM. The Flexible Box Module implementation now supports flex-wrap: nowrap, supports top and bottom margins for child nodes of flex items and now gracefully handles width definitions. Regions now support auto-height regions with region breaks and rendering support for text-decoration-style has been implemented.

A number of create*() methods of the Web Audio API’s AudioContext object have been renamed to match the latest specification. Pasted fragments will now always be parsed as HTML, even on XHTML pages, and the default action for the “dragover” event now prevents dropping when dragging files.

Kenneth added support for the “resolution” media query, most useful when used in conjunction with the dppx unit, and a feature flag for implementing features from CSS Device Adaption did land as well. John Mellor’s Text Autosizing implementation got the interest of Samsung, who are working on implementing the API in WebKit2, and timeout support for XMLHttpRequests has been implemented as well. Finally, all the compositing operators for CSS Shaders are now supported, with the exception of “destination” and “lighter”.

Other changes which occurred last week:

A really exciting patch to look out to is Renata’s work to sandbox the QtWebProcess, which will be a huge improvement for the Qt port of WebKit!

Read more (no comments) »

Conditional CSS, file-level CSP and shipping Shadow DOM and MathML

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

This update covers 1,921 Chromium changes and 1,426 WebKit changes which happened over the past two weeks, totaling up at 3,347 changes. Highlights are support for conditional CSS, support for polygonal shapes in CSS Exclusions and support for Shadow DOM, now shipping with Chrome.

Chromium has enabled both Shadow DOM and scoped stylesheets by default, and both features which will ship with Chrome 24. This also applies to MathML, which has been worked on by David Barton in the past year.

Web Inspector now supports styling console message output by using the %c modifier, together with a string of defined styles in the second parameter. HTML as part of XMLHttpRequest responses will now be previewed in the Network Panel, and hovering over console messages will now highlight them.

WebKit now supports the @supports rule from the CSS Conditional module. The orphaned units quirk has been removed, which would allow a space between the number and unit, such as “20 px”. Borders, margins and paddings of an inline’s inline ancestors won’t be counted twice anymore, and max-width can now override the width for CSS tables. For the Flexible Box implementation, stretched inputs won’t overflow anymore and images are being displayed again.

The experimental CSS Exclusions implementation now supports polygonal shapes, behavior of which is explained on Hans Muller’s blog. Elements utilizing CSS Regions now support automated height, and text decorations are now being properly applied when ::first-line styling is present. CSS variable names are now case insensitive.

Seven nodes of the Web Audio API have been renamed to be more consistent with other node types. A “force” parameter has been added to the DOMTokenList’s toggle() method, Content Security Policies now support paths at file-level granularity and text controls were given the setRangeText() method.

The vendor prefix of window.performance.now() has been removed. RequestAnimationFrame also had its vendor prefix removed, and a high-resolution timestamp is now being exposed as an argument for requestAnimationFrame’s callback.

Other changes which occurred in the last two weeks:

I know I’ve been out of it for a couple of weeks, but let’s get back on the weekly track! :)

Update: Scoped stylesheets will *not* be shipping with Chrome 24 yet, sorry!

Read more (2 comments) »

Canvas Line Dashing, MathML meets Flexbox and WebKit’s Cowhands

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

Sorry for the recent lack of updates, I’ve been really busy. This update discusses everything until the 24th of September, so two weeks, not including last week. Early next week I’ll publish an article covering last and this week, to get you fully up to date again.

In Web Inspector’s Style panel, the relevant selector that causes a rule to be applied to a certain element will now be highlighted. The XMLHttpRequest Replay feature has been added to the Network Panel, search and filtering features are now available in the Timeline panel and all named flows can now be displayed in the CSS Named Flows drawer.

The Flexbox implementation in WebKit now supports absolutely positioned flex items, and had two bugs fixed. Initial work for supporting exclusions for basic shapes has landed, and more work on CSS Exclusions’ shape-inside function has been done as well. Finally, the mask-type attribute on SVG’s <mask> element is now supported too.

Support for drawing dashed lines in the 2D Canvas APIs according to the specification landed, and introduced the getLineDash and setLineDash methods, and the lineDashOffset attribute. The prefixed version of Blob.slice() has been removed, and Chromium has removed support for the prefixed postMessage method. SVG’s appendItem method on path segment list has been sped up from linear to constant time. Support for creating a Shadow Root on replaced elements has been removed for now and CSS Region’s getRegionFlowRanges method on Elements has been implemented.

David Barton updated all of MathML’s rendering to be based on the Flexible Box module, simplifying the code significantly. Over the past number of months, he’s done quite a lot of work on improving WebKit’s implementation of MathML, which may ship with Chrome 24.

WebKit’s Content Security Policy implementation now features supports for paths in directives’ values. Blocked inline scripts will cause Web Inspector to pause, ignored directives due to non-ASCII values will now generate warnings and JavaScriptCore’s description when blocking eval() has been clarified.

Other changes which occurred in the last two weeks:

If you happen to be at Fronteers 2012 this Thursday and Friday, please come say hi! If you’re not: too bad, you’re missing out :).

Read more (no comments) »