Archive for October, 2011

OpenBSD, HTML5 Microdata and Cross-Fading Images

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

Another 1,511 changes further on, 885 made at Chromium’s repository and 626 at WebKit’s. Last week’s highlights include upstreaming of OpenBSD support into Chromium, lots of progress on implementing support for HTML5 Microdata and first steps towards supporting the CSS cross-fade() function for images.

At Chromium, a series of patches has been contributed by Robert Nagy which strongly improve support for the OpenBSD operating system. Previously it was maintained as a port on OpenBSD Ports.

Within Web Inspector, it’s now possible to select the indentation which will be used in the text editors. The four options available are two, four or eight spaces, or a tab. Advanced search is now available for content scripts and inline background-image CSS properties won’t show a warning anymore in the console.

Arko Saha’s work on implementing the HTML5 Microdata properties and DOM API is progressing nicely, as the itemprop, itemref and itemvalue properties landed last week. The itemtype attribute has been enhanced to accept a space-separated list of values, and code for the itemid attribute is just about to land as well.

As for specification related improvements, drawing images on a canvas by using certain composition modes has been fixed. Input step-values may now start with dots, IndexedDB has been taught the deleteDatabase method and two patches landed implementing parts of the Mutation Observers specification.

Support for argument-less functions has been added, in preparation of the greyscale CSS filter and column progression is now independent of writing mode. Automatic sizing of flexbox has been fixed, setting visibility: hidden on video elements on Safari now works properly and three more CSS 2.1 test-failures have been fixed, which includes proper support for intrinsic background sizes.

Parsing of two new CSS features has landed, namely for line-grid and for the cross-fade() function. The former is a shorthand for line-grid-mode and line-grid-progression defined in the CSS Text Module, whereas the latter allows cross fading images and is defined in CSS Image Values Level 4.

Other changes which occurred last week:

In other news, Andy Wingo published an excellent article about the new DFG JIT Apple is implementing in JavaScriptCore. Picks for the this week are notifications for the GTK port and four new media pseudo-classes.

Read more (1 comment) »

A Repunit Prime, HTTP Pipelining, advanced searching and Chromium 17

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

With 974 changes to Chromium’s repository, and 637 at WebKit’s, last week totaled up at 1,611 commits. Highlights are the new Chromium version, work on the Mouse Locking API and more work on Regions.

Chromium has reached version 17. The number, which also happens to be a repunit prime when written in base-16, supersedes the now branched Chrome 16. There are about 5,500 Chromium revisions going in the 16th major.

Vincent Scheibb has been working on a Mouse Locking API, the back-end for the settings of which landed in Chromium last week. Meanwhile, the WebKit side of the implementation is also starting, with the ability to toggle the feature either at compile or run-time.

As for Web Inspector, it now supports case sensitive searches and has support for regular expressions for the advanced search features and searches will now display their progress again. An element’s dimensions will now be displayed clearer with it’s highlight on the page.

As for specification support, the -webkit-from-flow value for the content property has been changed into its own property: -webkit-from-flow. Furthermore, the @-webkit-region at-rule can now be parsed, support for XPath is now enabled for all ports and the new Flexible Box Module implementation can now handle column flows.

Rendering of certain column-rule styles in vertical writing modes has been fixed, the ArrayBuffer object now supports the slice method, IDL files for the <track>-element have been added and content can now be clipped to variable width regions. Column rules will now be positioned correctly in vertical layouts when horizontal borders or paddings apply. Two patches have been committed in relation to the new Mutation Observers API as well.

Other changes which occurred last week:

That’d be all again. For the upcoming week, keep an eye out for work on the CSS aspect-ratio property and the Page Visibility API for the EFL port.

Read more (no comments) »

Microdata, the Web Component Model and hybi-17 for Web Sockets

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

Last week introduced another 1,540 changes in the WebKit and Chromium repositories, which beats the previous record of 1,515 commits. Highlights include a branch for the Web Component Model, first steps in WebKit’s Microdata implementation and searching through multiple scripts in Web Inspector.

The Web Component Model has received its own branch at WebKit, allowing initial work to start. The Component Model provides programmatic ways to ways to build components, utilizing features such as the Shadow DOM, templates and the ability to create your own elements. It layers a declarative form of the same capabilities on this infrastructure, making it available to most HTML developers. See Alex Russell’s slides for more information.

A number of updates were done to Chromium’ Extension APIs. The Permission (docs) and Panel (docs) APIs have been moved out of experimental, whereas support for a new experimental Clipboard API has been added, which will grant extensions access to the system’s clipboard. Finally, the onAuthRequired callback in the webRequest API can now provide credentials when needed.

Within Web Inspector, support was added for an advanced search feature in the Scripts Panel that allows you to search through multiple scripts at the same time. Back-end work was done in preparation of supporting the ability to debug shared work initialization, and the ability to look up and explore an object from an heap profile was added.

As for specification support, the first patch for implementing HTML5 Microdata has landed, namely the getItems() method. For CSS Regions support, the content-order CSS property has been removed, flow has been renamed to flow-into and positioned blocks now work with variable width regions.

Robert Hogan has landed three more patches fixing tests from the CSS 2.1 test-suite, the event.layerX and .layerY properties have been removed, the :checked pseudo-element selector now matches a selected option and right-margins will be taken into account for vertical writing modes. Finally, the new CSS3 Flexbox implementation now supports flex-align for cross axis alignment in flex-flow: row containers.

Other changes which occurred last week:

For this week, you may want to keep an eye out on progress for a custom-written CSS Lexer and progress on implementing flex-flow for columns, both of which are quite exciting :).

Read more (2 comments) »

Joystick API, Subtitles, Remote Desktop and bouncing animations

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

Due to the absence of last week’s update as I was having a vacation, this article covers the past two weeks. In total, 1,118 commits happened at WebKit and 1,743 at Chromium, totaling up to 2,861 changes.

Last week, an extension has been released which implements Remote Desktop support to Chromium. Previously known as Chromoting, the extension allows you to remotely see and control any computer on any platform.

Web Inspector is still gearing up to support source mapping for languages such as CoffeeScript. Highlighting inline elements now differentiates between paddings, borders and margins and the heap snapshot color legend will pop-up again. Furthermore, many more files have been added to the script compilation.

Firstly, WebKit’s implementation of the HTML5 <track> element has finally matured enough to be exposed to web authors without custom builds. By supplying the –enable-video-track command line switch to any recent Chromium build, all available elements, attributes and properties will be exposed to your scripts. While the implementation is still incomplete, it’s definitely one to play around with.

A lot of work has been done in implementing CSS Regions in WebKit. The majority of overflow behavior has been implemented now, covering clamping a region’s descendants to their containing region, correct box painting of overflowed content into regions and proper behavior for the hidden, auto, scroll and visible values for the overflow property. Block splitting for regions with variable widths has been implemented, positioned objects will now use the first region as their initial containing block and the region-overflow CSS property and outlines are now supported.

As for the CSS filter property, the property syntax can now be parsed with the exception of the drop-shadow function, and can also be retrieved through the getComputedStyle method. Infrastructure for applying filters has been implemented, and the feColorMatrix saturation won’t be clamped between 0 and 1 anymore, per the spec.

As for specification support, font shaping through the font-feature-settings CSS property has been implemented on Windows. RGB colors using percentages now show the correct hex and HSL values, support for currentColor has been implemented for gradients, box-shadow and text-shadow. Attribute selectors have been added to the fast-path selector and have been taught how to share their styles.

Values in the cubic-bezier timing function are no longer clipped between 0 and 1, which allows bouncing effects. The -webkit-tap-highlight-color property is now available for all ports which enable touch events, and the text-transform property will now apply to select elements.

The method, enctype, formMethod and formEnctype attributes will now only accept known values. Web Sockets now have the extensions attribute, drawing stroked lines on a canvas may now be done by the proprietary webkitLineDash and webkitLineDashOffset attributes and audio elements will now emit the playing event for each run. For JSC, Object.prototype getter and setters have been aligned with ES5, as has Array.prototype this-handling.

Accessibility-wise, the new HTML5 section elements now map to the appropriate ARIA roles. Following this change, screen readers can actually understand your newer HTML5 code.

Other changes which occurred in the past two weeks:

Remind me not to skip next week, this was quite a write-up. More personally, thanks to all the awesome Fronteers 2011 attendees, speakers and organizers! I had a great time and the conference was a great success 🙂

Read more (3 comments) »