Improved calc() support, Managed Mode and Flexible Box wrapping
Published on in Google Chrome, Last Week, tech, WebKit. Version: Chrome 19
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.
Three changes to the JavaScript Speech API have landed, namely the SpeechRecognition(Alternative, Error, Result, ResultList) and the SpeechGrammar(List) interfaces. Support for SVG’s transform-origin attribute has been implemented, getComputedStyle’s result for the height property no longer takes intrinsic paddings into account and rendering of the <shadow> element is now implemented, defining the insertion point for older shadow sub-trees.
Within v8, the Object.is() and Number.isNan/isFinite methods have been implemented. Basic infrastructure for JavaScript ES6 modules is available, and the result of Math.sqrt() will now be consistent on Intel platforms.
Other changes which occurred last week:
- Initial code paths have been added in preparation for rendering subtitle cues of the <track> element.
- CSS Property getters have been sped up by 35% for JavaScriptCore, and setters by about 8%.
- Fierce performance improvements (up to 10.9 times!) for several properties in v8 bindings.
- All of JavaScriptCore’s forwarding headers have been removed in favor of accessing WTF directly.
- The compositor will now also be enabled following animated CSS Filters.
- performance.timing.navigationStart will now report the right value on cross-renderer navigation in Chromium.
- A WebGL extension enabling anisotropic filters has been added to WebKit.
- Support for vw/vh/vmin has been rolled out again due to performance issues.
- Within Chromium, Aura is now able to boost up to a consistent 60 FPS rendering.
- Jessie Berlin now is a WebKit Reviewer, congratulations!
Thanks for reading 🙂