Last week yielded 932 WebKit commits and 1,111 Chromium commits, totaling up to 2,043 changes.
Within Web Inspector, several overrides have been moved out of the Settings panel. The Apple port now features a dock button in the top-right corner of the Web Inspector window. A checkbox has been added for toggling a visible FPS counter on the page, and a warning will now be shown in the console when invalid sandbox flags are encountered.
The feature flags for CSS Hierarchies have been removed again. Tab made parsing of the @charset rule stricter, the algorithm used for positioning <track> subtitles has been updated to better support multiple lines and the wrap-margin/padding properties have been renamed to shape-margin/padding. Various basic shapes, such as polygons, circles, rectangles and ellipses are now animatable with themselves, which can be used on both the clip-path and CSS Exclusions’ shape-inside properties.
Parsing for the text-align-last CSS property has landed. WebKit has also been updated to return the right value for <legend>.form, which should be in sync with an optional ancestor fieldset element. For Chromium, autocomplete=off will now be ignored when filling in an automatically created password. Finally, sevenpseudoclasseswereupdatedtoproperly distribute in shadow trees.
1,652 changes landed to the projects last week, 889 to Chromium’s repository and 763 to WebKit’s. The v8 project received 77 commits, quite a few of which were related to implementing the new Object.observe() feature.
Within v8, Adam, Rafael and Andreas are working on implementing Object.observe(), variouscommitsforwhichweremade. While the implementation isn’t complete yet, it can be enabled by passing the –harmony-observation to v8. ECMAScript 6’s Map and Set collections now include the size and clear properties and JSON.stringify() is now better at handling proxies.
Canvas images reprojected using the -webkit-canvas() CSS function will now use the full backing store rather than the scaled ones, which improves quality on many mobile devices. Support for the “desktop-width” directive in the meta viewport element has been removed. Also newly supported are date pickers for <input type=month> and <input type=week>, and Skia is now able to use reference URL filters on composited layers.
It’s now possible to show a list of tracks available for media elements, an UI for which will be implemented soon. A touchEvent’s client{X,Y} attributes will have the right scrolling adjustments applied, proper escaping of quotes will now be applied in various HTML extension methods (String.prototype.anchor, link, etc) for JavaScriptCore and getUserMedia() will now throw a TypeError instead of a DOMException.
The Content Security Policy DOM implementation has been updated to match the specification. The interface is now called document.securityPolicy and various methods are now exposed as read-only properties.
Today’s update talks about the 925 Chromium changes and 677 WebKit changes made during the past week.
The version number Google Chrome will be using is now equal to the value of a British Pony, as carefully described by Anthony. As usual, there’s a label for a rough overview of the changes that went in to Chrome 24.
Quite a few performance improvements went in last week. Elliott improved performance of getElementsByTagName, among various other tests, by several percentages. Eric has been working on addressing RoboHornet(Pro) issues: rendering tables with column groups now is twice as fast, devirtualizing first- and lastChild() yielded another 30% speedup, and another 35% improvement which lowers the total test run-time from 8.2 seconds to just 5.3!
WebKit’s Content Security Policy implementation will now listen to unprefixed Content-Security-Policy headers included in the HTTP response. This header will be preferred to X-WebKit-CSP, which still must be used in case you’re supplying CSP 1.1 features to the browser. Development of the cross-site scripting protection has been picked up again. Malformed headers will now be reported, and report URLs can now be defined in the X-XSS-Protection header.
Other changes which occurred last week:
All code related to the experimental Undo Manager API has been removed, as it went unmaintained.
Touch adjustment scoring now normalizes with respect to the maximum possible overlap area.
Apple enabled support for sub-pixel layout positioning on the Mac port.
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.
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”.
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.
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.
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.
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:
A gender-neutral version of the “webkit-patch land-cowboy” has been added: land-cowhand.
This update discusses the 1,305 WebKit changes up to revision 128,016, and the 1,707 Chromium changes up to revision 155668, and is therefore covering the last two weeks.
Support for the overflow-wrap property has been added, which is a new property to which word-wrap is a shorthand. Within the calc() function, expressions using the “em” unit will now zoom correctly and it’s now possible to use CSS Variables within expressions, assuming support for both is available in your build. Robert fixed yet another CSS 2.1 issue, so WebKit now prevents the margins of collapsed blocks from collapsing with parent margins.
Dirk introduced the “clip-path” CSS property into WebKit, which restricts the region of an element that can be painted. Changes landed making this work for both HTML and SVG elements, together with a fix which makes sure that the correct origin of polygons will be applied.
Last week saw 993 Chromium commits and 650 WebKit ones, totaling up to 1,643 changes in total.
Chrome binaries will now be signed with compatibility GUIDs for Windows 8, which mainly impacts theming in High Contrast mode and heuristics about potential compatibility issues. Furthermore, forwarding of search queries in Windows 8 UI mode has been implemented, and mouse input events from styli will no longer be ignored.
Web Inspector’s Profile panel is getting a great new (experimental!) feature from Andrey, namely WebGL inspection. The Timeline panel is now able to show the cause for a style recalculation, the console.time() method now uses performance.now() for more accuracy and more work has been doneon improvingperformance.
Simon landed support for sticky CSS positioning, which limits an element to be positioned within both it’s container and the viewport. Support for parsing the -webkit-text-decoration-style has been added, the arguments for the blend-mode property can now be parsed and CSS masking and filters are now being applied in the right order.
Blob and File System URIs are now considered to be same-origin for Content Security Policy and computed styles for 2D Transforms have been aligned with the specification. An initial implementation of CSS Exclusions’ shape-inside property landed, WebKit didn’t miss out on theusualset of Flexbox improvements and David’s work on re-implementing Multiple Columns on top of CSS Regions saw twomore commits.
The postMessage() function now accepts any kind of data as its message, allowing you to post arrays and objects as well. Changing the class attribute on any kind of element will now update the classList as well, and work is being done for allowing pointer lock in sandboxed iframes. The automatic DOM transactions feature for Undo Manager is now implemented, just like the item() method, and the undoscope attribute has been removed.
Last week, 764 Chromium commits and 615 WebKit commits landed, totaling up to 1,379 changes.
Especially for Web Applications, finding certain files in the Network tab can be difficult, as there can be hundreds. Web Inspector now gained support for filtering the display based on search results! The BlackBerry 10 user-agent can now be selected in the Settings dialog, and workisbeingdone to improve performance by loading panels lazily.
SVG Filters can now be drawn in the correct colorspace for WebKit ports which don’t use CoreGraphics. Mike implemented the plugin-types and form-action Content Security Policy directives, together with their respective DOM APIs, and support for author Shadow DOM is now available for the <meter> element. Finally, many more languages now have their localized quotes available for the <q> element.
Other changes which occurred last week:
The third-party storage blocking system now also covers WebSQL databases.
A compile time flag was added for the new CSS 3 text decoration properties.
Chromium received a new audio render method supporting synchronized input and output.
Sticky CSS positioning has been enabled on Apple’s Windows port.
DNS Prefetching has been enabled for the BlackBerry WebKit port.
Gyuyoung Kim is the latest member of the WebKit Reviewer team, congratulations!
Within Chrome OS, the offset for a secondary monitor can now be set.
Last week, 831 commits were added to the Chromium project and 665 to WebKit, totaling up to 1,496 changes.
Jim Carrey is going to be very pleased with this change made by Anthony last week, namely kicking Chromium to Number 23. You can read about many changes made for Chrome 22 in this series of articles.
Web Inspector’s editor can now be replaced with CodeMirror by Jan Keromnes, as an experimental feature. It supports basic editing, search, replace and saving, but much more work is to be done before it’s completely usable. The function scope is now visible in the UI, and support for two CSS Region events has been added to the protocol.