Archive for November, 2012

Telemetry, more DOM Exception renames and in-band subtitle tracks

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

Because of Thanksgiving, last week only saw a total of 1199 changes: 624 for Chromium, 575 for WebKit.

Marcus[1], Marja, Nat, Tony and others are working on a new cross-platform performance test framework in Chromium: Telemetry. Last week, support was added for running tests on multiple Android devices, recording replay files and several new benchmarks. Exciting stuff!

Web Inspector has enabled JSON previews for text/html XMLHttpRequests. Line numbers in the timeline panel are now searchable and pressing the Ctrl+End shortcut in the code editor will bring you to the last character again.

Erik continued with his renaming of DOM Exception names. The CSS Device Adaptation implementation is now able to apply the resolved viewport rules and, when enabled, exposes an API to the DOM. Text Autosizing’s display of nested comments on has been vastly improved, changing relatively positioned elements to being statically positioned now puts them in the right spot and CSS Exclusions’ shape-outside values are now accepted on shape-inside as well. Alexis landed CSS B&B3-compliant parsing support for the background-position property.

The IDBDatabaseException object has been removed in its entirety. Initial infrastructure has been created allowing ports to handle in-band subtitle tracks, a new layer stack has been added to accommodate the needs of both the Fullscreen API and the <dialog> element, and biquad filter nodes for the Web Audio API now have a “detune” attribute.

The feature flag for the DAP Proximity Events feature landed. A few other potentially upcoming features were discussed on the WebKit mailing lists last week as well, namely using OpenCL for filters, Pointer Events, the Screen Orientation API and adding the <main> element.

Other changes that occurred last week:

  • Some minor progress was made in hooking up the Fullscreen API for Android.
  • James started working on Resource Timing tests, in W3C style so they can be submitted.
  • The EFL port added support for using the ATK library for Accessibility support.
  • Chromium for Mac switched to WebKit’s TCMalloc, improving DOM modification performance by up to 15%.
  • Chromium enabled support for the datalist UI for datetime and datetime-local input fields.
  • Qt separated all their code that depends on QWidget in a separate static library.

Quite belated, but better late than never :)

Read more (2 comments) »

Better DOM Exception Names, Animatable Shapes and Recent Tabs

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

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, seven pseudo classes were updated to properly distribute in shadow trees.

Erik Arvidsson landed 17 out of a series of 25 patches renaming all the DOM Exception names. Examples include SYNTAX_ERR to SyntaxError, NOT_FOUND_ERR to NotFoundError and NOT_SUPPORTED_ERR to NotSupportedError.

Other changes which occurred last week:


Read more (no comments) »

Week and month date pickers, cSP and no more “desktop-width” viewport directive

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

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.

Web Inspector’s console messages now accept multiple formatting blocks by using %c multiple times. The new console.clear() method will, surprisingly, clear the console. An option has been added for disabling rulers, pressing Ctrl+A in the Network Panel now selects the resources rather than the entire panel and warning messages have been added for invalid cross-frame options and usage of the dpi and dpcm units outside of printed media stylesheets.

Within v8, Adam, Rafael and Andreas are working on implementing Object.observe(), various commits for which were made. 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.

Other changes which occurred last week:

Thanks for reading!

Read more (3 comments) »

HTTP Content-Security-Policy, the @viewport rule and Improved Performance

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

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.

The version of CodeMirror Web Inspector uses, which is available as an experimental editor, has been updated to version 3. Redoing an action can now be done by typing Ctrl+Y on non-Mac platforms. Furthermore, the CPU Activity feature of the Timeline panel has been promoted out of being experimental. A native memory usage overview has been implemented as well.

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!

As there is no way to set them through CSS, vertex shaders with custom attributes used by CSS Shaders are now considered invalid. The -webkit-user-select property now accepts the “all” value, and -webkit-line-break has been updated to also understand “auto”, “strict” and “loose”. Thiago landed parsing for the @-webkit-viewport rule, together with the max-zoom, min-zoom, orientation and user-zoom CSS properties and their validation.

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.
  • WebKit is now being built as C++11 code on Mac platforms.
  • Support for “user-select: all” has been enabled for all WebKit2 users.
  • An iOS builder has been added to Chromium’s commit queue, and can now close the tree on failures!
  • The Tab Capture Extension API may now also be enabled on Chrome OS and Windows.
  • The <webview> element and permissions are now available for platform apps on the dev channel.
  • Only the first Strict-Transport-Security header will be processed, as defined in its specification.
  • Support for Shadow DOM unfortunately has been delayed until Google Chrome 25..!

Published on a Monday, that’s been a while :)

Read more (no comments) »