1,693 changes landed last week, 650 in WebKit’s repositories and 1,043 in Chromium’s. Highlights include Chromium 21, support for the tab-size property and strings instead of constants for IndexedDB.
IndexedDB now uses strings instead of numeric constants. Violation reports generated by Content Security Policy now also include the referer, original policy and the URL which got blocked. The File System API is now able to deal with cross-file system operations, widths and heights are now exposed for <input type=image> images, and the offsetLeft property was broken when used together with CSS Columns.
WebKit has also gained support for the tab-size CSS property. This property, which is also supported by Firefox and Opera, allows you to define the number of spaces a tab should be equal to.
Today’s update covers many Chromium and WebKit changes made over the past two weeks, meaning 2,055 commits for Chromium and 1,418 for WebKit, totaling up at 3,473 changes.
Retrieving a canvas’ image data will now return a Uint8ClampedArray instead of a CanvasPixelArray object. In preparation of supporting getUserMedia on Chromium, the Peer Connection API implementation has been separated with a compile time flag. Tables now support the createTBody() method and the IndexedDB implementation can now open cursors based on a IDBKey, and advance cursors as well.
Antti made it possible to share stylesheet data structures between documents, decreasing memory usage by several megabytes (take note, kling) depending on the port’s implementation. Furthermore, parsed stylesheets may now be cached, increasing performance of subsequent page loads.
Per commit 116009, Levi and Emil were able to close the meta bug for supporting sub-pixel layout in WebKit. While this has not yet been enabled for any port, this is a significant milestone for the project. This article provides some insight in the importance.
Other changes which occurred last week:
Code supporting positioned floats has been removed from WebKit, pending proper implementation.
Last week, a total of 1,575 landed in the repositories: 923 for Chromium and 652 to WebKit. Highlights include the WebKit Contributors meeting, Web Inspector updates and support for <datalist> in Chromium.
Last Thursday and Friday, Apple kindly hosted the 2012 WebKit Contributors Meeting in Cupertino. With contributors from many different vendors around, a large number of subjects were covered in presentations and discussions. Transcripts of most of these are available on WebKit’s Trac, including a group photo of all attendees.
An experimental Style Panel has been introduced to Web Inspector which mimics the interface of the Script Panel, which also features an open stylesheet-dialog. Cross-frame security error spam when typing in the console is gone, calling document.open() will now reset the Elements Panel and the Inspector is now shimming the startsWith() and endsWith() methods on the String prototype, anticipating implementation of Microsoft’s proposal.
Parsing rules of the :nth-*() pseudo-classes has been aligned with the specification. Clipping issues with the CSS drop-shadow filter have been resolved and the “-webkit-filter” CSS property will now show up when enumerating over an element’s computed style.
Support for the HTML5 <datalist> element has been enabled for Chromium. It provides similar functionality to suggestions by the browser based on what you previously entered in a text field, with the difference that these suggestions are provided by the website.
Other changes which occurred last week:
The WebKitGTK port has enabled the Web Timing implementation.
Performance of several String-returning DOM attribute and property getters has been improved for v8.
The localStorage.setItem() method cannot override methods on the Storage prototype anymore.
The footprint of an element’s attributes has been reduced to a minimum for common usage.
882 revisions landed in Chromium’s repository last week and 667 in WebKit’s. Highlights include removal of support for the -khtml- and -apple- CSS vendor prefixes in Chromium, and the new location.ancestorOrigins() method.
Support for -khtml- and -apple- properties has been removed for most WebKit ports, including Chromium, after previous attempts failed due to compatibility issues. Background sizes are now correct if the page is zoomed out, the default box-shadow color now defaults to the element’s “color” property, the viewport-relative CSS units now work for Replaced objects (such as images) and the -webkit-image-set CSS property was enabled for the Chromium port.
Last week brought 995 commits to the Chromium repository and 732 to WebKit’s. Highlights include work on the user interface for date-input fields and the “srcdoc” attribute for iframes.
The animatedPathSegList property for SVG path elements has been implemented, completing support for the animVal properties. Minor type updates were done aligning WebKit’s typed array implementation with the specification, the Web Audio API’s Oscillator and WaveTable interfaces have been implemented and plumbing for the new JavaScript Speech API continues.
Now that a user interface for color input types is available, next in line is an interface for the date and time input types. Kent Tamura hasbeenworkingon implementingthis, an early example of which can be seen here. Meanwhile, work has started on cleaning up and implementingsupport for <datalist>. The <iframe srcdoc> attribute is now also supported, allowing untrusted HTML code to leverage an iframe’s sandbox constraints.
Other changes which occurred last week:
Both the backend and frontend for device metrics emulation in Web Inspector have been implemented.
The BlackBerry port has added client implementations for the Battery Status and Vibration APIs.
WebKit’s Web Intents implementation has been prefixed with the a vendor prefix.
The “let” keyword has been unreserved in JavaScriptCore as reserving it caused compatibility problems.
Asynchronous spell-checking can now be enabled through about:flags.
As always, thanks for reading. Next week’s update may be a bit brief as I’ll be in the Mountain View area, also attending the WebKit Contributors Meeting!
1,104 changes landed in Chromium’s repository last week, whereas WebKit’s received 792. Highlights include Chromium 20, support for <input type=color> and re-landing of the vw, vh and vmin CSS units.
Chromium’s latest version number is the only number with more than one digit that can be written from base 2 to base 20 using only the digits 0 to 9: version 20. Highlights of Google Chrome 19 include support for the CSS calc() function, quote some updates to the Extension APIs and support for mutation observers.
A skeleton of Chromium’s Content Shell for Android landed last week, which is the very first step towards being able to build an Android .apk file containing Chromium. Meanwhile, work on supporting Password Generation is also progressing with some new constraints and a user interface for Linux.
After having been rolled out, support for the vw, vh and vmin CSS units has returned to WebKit. Flexbox’ flex-line-pack property has been implemented and two bugs around the flex-pack property have been fixed. Replaced elements now box-reflect and vertical-align and more progress landed for the new Multiple Column implementation. Finally, CSS Exclusions’ shape-inside and shape-outside had their “wrap-” prefix removed, and now occur in the list of computed style properties.
A new experimental.alarms Extension API has been added, allowing background pages to wake themselves up.
Documentation for the experimental fontSettings and storage Extension APIs is now available.
If you’re one of the people interested in charting Dimitri Glazkov’s average arrival time in the office based on his daily good morning wishes to the #chromium IRC channel, Brett Wilson has the perfect solution for you: 6,143 indexed pages spread over 13 books containing all of 2011’s IRC conversations!
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 isworking on the new Multiple Column implementation and fieldsets won’t stretch to minimum intrinsic width anymore if an explicit width has been specified. Besidesvariousother 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:
The default WebSocket version to use for WebKit ports has been changed to RFC 6455.
While still completely disabled by default, CSS Shaders can now be compiled for Chromium.
The style sharing optimization can now be applied to elements with style attributes as well.
Threaded animation for WebKit’s compositor has been enabled by default on Chromium.
SPDY/3 and the SPDY flow control can now be enabled on the about:flags page.
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!
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.
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:
Multi-threaded decoding of Theora video content has been enabled for Chromium.
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.
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.
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.